首頁  >  文章  >  Java  >  檢查型異常和非檢查型異常的比較

檢查型異常和非檢查型異常的比較

零下一度
零下一度原創
2017-07-20 10:34:261682瀏覽
對於因為程式錯誤而導致的異常,或者是不能期望程式捕獲的異常(解除引用一個空指針,數組越界,除零,等等),為了使開發人員免於處理這些異常,一些異常被命名為非檢查型例外(即那些繼承自RuntimeException 的例外)並且不需要進行宣告。
 
1、檢查性異常: JAVA編譯器強制要求以try{}catch(){}區塊處理,如果不處理則必須在包含可能發生異常的程式碼的方法上用throws顯示地拋出異常,由呼叫該方法的方法catch捕捉處理異常,否則程式編譯不會通過,會有紅叉提示。
如:

 

 

這裡必須要用try  catch區塊將程式碼包圍或throws明確拋出異常,否則編譯不會通過。
 
2、非檢查性異常:JAVA編譯器可以通過的異常,可以用try{}catch(){}進行處理,處理過後程式可以繼續向下執行,也可以不處理,由調用它的方法進行處理。當然,也可以一直不處理,到了最上層,多線程的話線程會終止,單線程的話主程式會終止,也就是說運行時異常如果一直不進行處理,則會起到使程序停止的作用。
如:
 
這裡雖然拋出了異常,但只是阻止程式繼續運行,並不會編譯報錯,無需在方法上用throws語句顯式拋出異常。

以上是檢查型異常和非檢查型異常的比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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