Java中異常和錯誤的區別


異常和錯誤都是Throwable類的子類。錯誤表示主要由於系統資源不足而發生的問題,我們的應用程式不應該捕獲這些型別的問題。一些錯誤的例子包括系統崩潰錯誤和記憶體不足錯誤。錯誤大多發生在執行時,因此它們屬於未檢查型別。

異常是在執行時和編譯時都可能發生的問題。它主要發生在開發人員編寫的程式碼中。異常分為兩類:已檢查異常和未檢查異常。

序號關鍵錯誤異常
1型別歸類為未檢查型別歸類為已檢查和未檢查型別
2屬於java.lang.error屬於java.lang.Exception
3可恢復/不可恢復不可恢復可恢復
4 不會在編譯時發生會在執行時和編譯時發生
5示例OutOfMemoryError,IOErrorNullPointerException,SqlException

錯誤示例

public class ErrorExample {
   public static void main(String[] args){
      recursiveMethod(10)
   }
   public static void recursiveMethod(int i){
      while(i!=0){
         i=i+1;
         recursiveMethod(i);
      }
   }
}

輸出

Exception in thread "main" java.lang.StackOverflowError
   at ErrorExample.ErrorExample(Main.java:42)

異常示例

public class ExceptionExample {
   public static void main(String[] args){
      int x = 100;
      int y = 0;
      int z = x / y;
   }
}

輸出

java.lang.ArithmeticException: / by zero
   at ExceptionExample.main(ExceptionExample.java:7)

更新於:2023年9月14日

23K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.