20170706 異常

參考文獻:《Java瘋狂講義》(第三版)

異常

知識點:對于構(gòu)造大型、健壯、可維護的應(yīng)用而言,錯誤處理是整個應(yīng)用需要考慮的是重要方面,曾經(jīng)有一個教授告訴我:國內(nèi)的程序員做開發(fā)時,往往只做了“對”的事情!他這句話有很深的遺憾——程序員開發(fā)程序的過程,是一個創(chuàng)造的過程,這個過程需要有全面的考慮,僅做“對”的事情是遠遠不夠的。

知識點:

1、無法窮舉所有的異常情況。因為人類的知識的限制,異常情況總比可以考慮到的情況多,所以程序總是不夠健壯。

2、錯誤處理代碼和業(yè)務(wù)實現(xiàn)代碼混雜。這種錯誤處理和業(yè)務(wù)實現(xiàn)混則的代碼嚴重影響程序的可讀性,會增加程序維護的難度。



Error錯誤,一般是指與虛擬機相關(guān)的問題,如系統(tǒng)崩潰,虛擬機錯誤,動態(tài)鏈接失敗,這種錯誤無法恢復(fù)或者不可能捕捉,因此應(yīng)用程序不應(yīng)該試圖使用catch來捕捉Error對象

知識點:

異常捕獲時,一定要記住先捕獲小異常,再捕獲大異常。

訪問異常信息

所有的異常對象都包含了如下幾個常用方法:

1、getMessage():返回該異常的詳細描述字符串。

2、printStackTrace():將該異常的跟蹤棧信息輸出到標準錯誤輸出。

3、printStackTrace(PrintStream s):將該異常的跟蹤棧信息輸出到指定輸出流

4、getStackTrace():返回該異常的跟蹤棧信息。

Checkde異常和Runtime異常:

Java的異常被分為兩大類:Checked異常和Runtime異常(運行時異常)。所有的RuntimeException類及其子類的實例都被成為Runtime異常,其他則稱為Checked異常。

Checked異常體現(xiàn)了Java的設(shè)計哲學(xué)——沒有完善錯誤處理的代碼根本就不會執(zhí)行。

異常鏈:

對于企業(yè)級應(yīng)用而言,常常有嚴格的分層關(guān)系,上層功能的實現(xiàn)嚴格依賴于下層的API,也不會跨層訪問。

表現(xiàn)層:用戶界面——API——>中間層:實現(xiàn)業(yè)務(wù)邏輯——API——>持久層:保存數(shù)據(jù)

異常處理規(guī)則:

1、使程序代碼混亂最小化。

2、捕獲并保留診斷信息。

3、通知合適的人員。

4、采用合適的方式結(jié)束異?;顒印?/p>

不要過度使用異常

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容