Java異常詳談

  • 2019 年 10 月 11 日
  • 筆記

什麼是異常:

異常(Exception)是程式運行過程中發生的事件,該事件可以中斷程式指令的正常執行流程。

注意:

如果實際拋出的異常對象屬於Exception的子類對象,而繼承自Throwable類的異常對象和Exception類同級別,則不能被Exception捕獲到!

根據多態,父類的引用可以接收子類的對象!

常見異常

異常的處理

方法體內出現異常,對異常處理分為兩種:

1.在方法體內使用try-catch語句塊,自行解決

2.使用throws聲明可能會拋出的異常類,將出現的異常拋給上級調用的方法。

註:如果自身方法體內沒有try-catch語句塊,並且也沒有使用throws聲明可能會拋出的異常類,則在編譯時就會出現:未報告的異常,必須對其進行捕獲或聲明

l Exception類的子類,非檢查異常RuntimeException類,本身程式碼有問題,從邏輯上可以檢查,JVM自動拋出並捕獲,若程式碼沒有問題則不處理。

l Exception類的子類,檢查異常,比如IO、SQL異常,若程式碼沒問題也要必須手動添加捕獲或處理語句。

聲明thorws異常類是將出現的異常對象拋給上級方法,而不是自己處理

throw拋出的是異常對象,而不是異常類,所以必須用

throw new 異常類名();

異常類名通常繼承自Exception類

若try拋出的異常對象,沒有任何的catch捕獲到,則執行完finally後就結束程式,輸出異常資訊。

throw和throws的區別