1. 異常拋出后,有幾件事會隨之發生。首先,使用new在堆上創建異常對象。然后,當前的執行路徑被終止,并且從當前環境中彈出對異常對象的引用。此時,異常處理機制接管程序,并開始尋找一個恰當的地方來繼續執行程序。這個恰當的地方就是異常處理程序。
2. 所有標準異常類都有兩個構造器,一個是缺省構造器,另一個是接受字符串的構造器。
3. 異常處理的一個好處是,使你得以先在一個地方專注于正在解決的問題,然后在別的地方處理這些代碼中的錯誤。
4. 異常處理理論的兩種基本模型:終止模型(termination)和恢復模型(resumption)。Java和C++都使用前者。不過后者也可以實現,如把try塊放入while中,不斷進入try塊,直到得到滿意結果。
5. 創建自定義異常時,建議把信息寫到System.err,因為System.out可能會被重定向。
6. Throwable.printStackTrace方法可以輸出從方法調用處直到異常拋出處的方法調用序列,使用時可以不帶參數,或者傳遞一個PrintStream或PringWriter類的引用。