Java核心技術_筆記7-3
1 .一個供其他程式設計師使用的子系統中 用於表示子系統故障的異常型別可能會產生多種解釋
可將原始異常設定為新異常的原因 try { access the database; } catch ( SQLException e) { Throwable se = new ServletException(“database error”); se.initCause(e); throw se ; }
2 .解決丟擲異常後剩餘程式碼的處理 用finally try catch finally (1)執行無異常try finally (2)try catch捕獲異常 finally (3)try 發生非受查異常 finally
3 .try語句中包含return,方法返回前會先執行finally 若finally中也有return,會覆蓋原始返回值
4 .帶資源自動關閉的try語句 try ( Resource res = . . . ) { work with res } try退出後自動執行res.close,可指定多個資源
5 .堆疊軌跡 ( stack trace ) 是一個方法呼叫過程的列表 Throwable t = new Throwable() ; StringWriter out = new StringWriter () ; t.printStackTrace ( new PrintWriter ( out )) ; String description = out . toString();
6 .捕獲異常比簡單測試花費時間多
7 .將整個任務包在try語句塊中 不要一條一條
8 .很少出現異常用catch直接解決
9 .檢測錯誤更細化些好
10 .傳遞異常比捕獲好
11 .