(3)簡單說說java中的異常體系

來源:互聯網
上載者:User

標籤:自動   throwable   dex   處理   參數   family   man   color   簡單   

java異常體系

|——Throwable 實作類別描述java的錯誤和異常 一般交由硬體處理

    |——Error(錯誤)一般不通過代碼去處理,一般由硬體保護

    |——Exception(異常)

      |——RuntimeException(運行時異常)

      |——非運行時異常

多個try-catch語句聯用時的順序

  1、順序執行,從上到下,有一個catch子句匹配之後,後面的自動不在執行

  2、如果多個cach內的異常有父子類的關係

    一定要,子類異常在上,父類異常在下

 

自訂異常類型

 

  一般都是提供兩個構造參數,一個無參一個有參數,有參數的一般是調用父類的有參建構函式,調用形式super(message)

運行時異常

RuntimeException

  |——ClassCastException多態中可以使用instanceof 進行規避

  |——ArithmeticException進行if判斷,吐過除數為0進行return

  |——NullPointerException進行if判斷是否為null

  |——ArrayIndexOutBondsExcetion使用數組length屬性以避免數組越界。

  在後面我們異常處理的時候,經常把捕獲的一場裝華為運行時異常拋出,尤其是寫一些函數架構時。throw new RuntimeException(e);

 

非運行時異(受檢異常) 這些異常必須做出try-catch不然編譯器無法通過 注意事項

 

  1、子類覆蓋父類的方法時,父類方法拋出異常,子類的覆蓋方法可以不拋出異常或者拋出父類方法相同的異常,或者拋出父類方法異常的子類。

 

  2、父類方法拋出了多個異常,子類覆蓋方法時,只能拋出父類異常的子集

 

  3、父類沒有拋出異常,子類不能拋出異常。子類發生非運行時異常時,需要進行try-catch處理

 

  4、子類不能比父類拋出更多的異常。

  凡事應當向父類看齊,父類已有就應當向分類看齊。

 

finally塊 一般用於釋放資源 無論程式正常與否都執行finally塊

 

  1.只有一種情況,jvm退出了System.exit(0)這時候不會執行finally的內容

 

  2、return語句也無法阻止finally的執行

 

(3)簡單說說java中的異常體系

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.