首頁  >  文章  >  Java  >  Java中error和exception的差別

Java中error和exception的差別

藏色散人
藏色散人原創
2019-03-30 10:48:457597瀏覽

Java中error和exception的區別:Error錯誤是程式無法處理的錯誤,這些錯誤標識故障發生於虛擬機器本身或發生在虛擬機器試圖執行應用時,一般不需要程式處理。 exception異常是程式本身可以處理的異常.

<img src="https://img.php.cn/upload/article/000/000/020/5c9ed8367bf92424.jpg" alt="Java中error和exception的差別" >

##Error<strong></strong>


<strong></strong>Error

:錯誤是程式無法處理的錯誤,這些錯誤標識故障發生於虛擬機器本身或發生在虛擬機器試圖執行應用時,一般不需要程式處理。 Error(錯誤)和exception(異常)都是java.lang.Throwable類別的子類別。 Error錯誤是任何處理技術都無法恢復的情況。這肯定會導致程式非正常終止。 Error錯誤屬於未檢查類型,大多數發生在執行時。 Error錯誤的一些例子是記憶體不足錯誤或系統崩潰錯誤。

// 通过无限递归演示堆栈溢出错误

class StackOverflow { 
    public static void test(int i) 
    { 
      
        if (i == 0) 
            return; 
        else { 
            test(i++); 
        } 
    } 
} 
public class ErrorEg { 
  
    public static void main(String[] args) 
    { 
  
        StackOverflow.test(5); 
    } 
}

輸出:

<pre class="brush:php;toolbar:false">Exception in thread &quot;main&quot; java.lang.StackOverflowError at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) at StackOverflow.test(ErrorEg.java:7) ...</pre>exception

:是程式本身可以處理的例外。

異常是在運行時發生並可能導致程式終止的條件。但是,使用

trycatch

throw

關鍵字可以恢復它們。


異常分為兩類:已檢查異常和未檢查異常。編譯器在編譯時知道已檢查的異常(如

IOException###),而編譯器在執行時知道未檢查的例外(如###ArrayIndexOutOfBoundException###)。它主要是由程式設計師編寫的程式引起的。 ###
public class ExceptionEg { 
  
    public static void main(String[] args) 
    { 
        int a = 5, b = 0; 
  
        try { 
            int c = a / b; 
        } 
        catch (ArithmeticException e) { 
            e.printStackTrace(); 
        } 
    } 
}
####輸出:######
java.lang.ArithmeticException: / by zero
    at ExceptionEg.main(ExceptionEg.java:8)
###相關推薦:《###Java教學###》######本篇文章就是關於Java中error與exception的差別介紹,希望對需要的朋友有幫助! ############

以上是Java中error和exception的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn