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); } }
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Exception in thread "main" 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><div class="contentsignin">登入後複製</div></div>
exception
:是程式本身可以處理的例外。
try、catch
和throw
關鍵字可以恢復它們。
異常分為兩類:已檢查異常和未檢查異常。編譯器在編譯時知道已檢查的異常(如
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中error和exception的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!