假設我的團隊正在開發一個庫程序,由于某種原因,現在希望能夠得到所有最外層
API
所拋出的所有異常的類型、各自的信息、并且能夠附上各種異常所出現的原因和解決辦法。如果開發過程中內部使用的是
Unchecked
Exception
,那么對于這個任務簡直就麻煩了。沒辦法,開發人員一個個的自我進行檢查然后統計吧,但是往往這樣的統計總會有漏網之魚。現在的
MSDN
中的異常信息糟糕的很,最底層的公有庫的異常信息內容可能完整一點,但是上層的庫的異常信息糟糕的不行,根本不能完整的報全所有出錯的可能性。
你可以想象的出,一個庫函數的異常信息不完整,對于他的用戶來說,是多么不友好的事情。假設
MSDN
中
File.Open()
會拋出
IOException
,你的程序就很難想到很規矩的對
IOException
做了
catch
,然后提示用戶檢查相應位置的文件是否存在
/
被打開等。別指望
MSDN
的那些信息能夠對終端用戶有多大的幫助,太多不懂計算機的人在傻呆呆的握著鼠標了。再加上
MicroSoft
的提示信息本身就存在著“答非所問”,“莫名其妙”的事情,用戶看到這些情況就更不知道怎么解決問題了。再加上自己的應用程序中會彈出一個個“蹩腳”的運行時錯誤的錯誤框,真的不是一個很如意的創作。
?
?
?
?
但是,如果使用的是
Checked Exception
,這時候編譯器會強迫你的外部接口的異常相當的完整,最起碼可以做到比
MSDN
的異常類型齊整。
?
?
?
?