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