圖片來源:ImportNew
- Throwable類是所有異常和錯誤的基類,它直接繼承於Object類.
- Error和Exception是Throwable的子類,它們的區別是:Exception是一種我們應該對其進行捕獲或者拋出的異常;Error由Java虛擬機拋出,是相對嚴重的錯誤,我們不應該對它進行捕獲.如果出現了Error,那麼我們只好終止程序.
- RuntimeException類是Exception類的子類,我們可以叫它運行時異常.它的出現是因爲我們程序設計不當造成的.
- Error的子類以及RuntimeException的子類都是由淺藍色標記的,它們被稱作unchecked exception(免檢異常),Exception及它的子類都是由粉紅色標記出來的,它們被稱作checked exception(必檢異常).
- unchecked exception 和 checked exception相比較而言,unchecked exception比較嚴重,但是爲了避免過多的使用try catch語句塊,Java不允許捕獲或聲明unchecked exception.
- 對於Exception我們可以對它進行聲明,做法就是在方法頭加上throws關鍵字,如果有多個異常的話就要在各個一場之間用逗號進行分隔,這樣調用這個方法的方法就必須對這個異常進行處理.如果這個方法仍然不想對這個異常進行處理,做法一樣,在方法頭用throws聲明即可.
- 拋出異常的做法是聲明一個異常對象,用throw關鍵字進行拋出.
- 我們可以用try...catch語句結構對異常進行處理,try語句塊包含可能出現的異常,catch語句塊內包含處理異常的代碼.可以有多個catch語句塊對應一個try語句.
- finally語句塊內的語句是無論是否出現異常都會執行的.