java基礎知識學習 java異常

來源:互聯網
上載者:User

標籤:運行時   err   col   eui   ora   www.   應該   ati   check   

1: Unchecked Exception( 也就是運行時異常) VS  Check Exception(非運行時異常)

2: 運行期異常  VS  非運行期異常?

       非運行時異常: 必須在代碼中顯示的聲明捕獲也就是放在try{}catch(){}塊中,或者在方法上申明throws 來拋出異常,類型上都屬於Exception類及其子類。

       運行時異常:不需要特意的申明,一般運行時異常都是虛擬機器出現問題了才會報,比如你寫個死迴圈導致記憶體不足什麼的, 運行時異常都是RuntimeException類及其子類,如 NullPointerExcetpion、IndexOutOfBoundsExcrtiption等,程式可以不捕獲。一般是由邏輯引起的,要盡量避免。

        RuntimeException類是Exception類的子類,它叫做運行時異常,Java中的所有運行時異常都會直接或者間接地繼承自RuntimeException類。

  Java中凡是繼承自Exception,而不繼承自RuntimeException類的異常都是非運行時異常。

3: 什麼是異常丟失?

  拋出異常後處理異常的code又拋出新異常,則舊異常丟失。

4: 異常處理兩種方式?  

   用try {}  catch{}  finally {}  捕獲處理;       函數後面throws Excepltion,拋出異常,函數內部throw new Exception()。

5:  如何自訂異常?

  繼承Exception或其子類(比如RuntimeException)。

6: try語句塊中有return, 會執行finally嗎?   如果執行try{} 之前有return,  finally會執行嗎?

  try中有return, 也會首先執行finally中的代碼;  如果是Sytem.exit(0),就不執行finally;

  如果在try之前有return, finally 是不會被執行的。

7: catch中的異常匹配?

  基類會捕獲衍生類別異常。catch的時候,會先匹配衍生類別的,然後是基類的。

8: Throwable, Error, Exception, RuntimeException的區別?

  (1)Throwable類是 Java 語言中所有錯誤或異常的超類。它的兩個子類是Error和Exception;

  (2)Error是Throwable 的子類,用於指示合理的應用程式不應該試圖捕獲的嚴重問題。大多數這樣的錯誤都是異常條件;

  (3)Exception類及其子類是 Throwable 的一種形式,它指出了合理的應用程式想要捕獲的條件;

  (4)RuntimeException是那些可能在 JAVA 虛擬機器正常運行期間拋出的異常的超類。

    可能在執行方法期間拋出但未被捕獲的RuntimeException 的任何子類都無需在 throws 子句中進行聲明。它是Exception的子類;

java基礎知識學習 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.