Java checked異常和unchecked異常。

Java學習之平凡之路發表於2016-06-14

Java包含兩種異常:checked異常unchecked(執行時)異常

checkedunchecked異常之間的區別是:

  1. Checked異常必須被顯式地捕獲或者傳遞,如Basic try-catch-finally Exception Handling一文中所說。而unchecked異常則可以不必捕獲或丟擲。(為什一個要必須顯示捕獲,一個不必?個人理解第三點的內外部原因)
  2. Checked異常繼承java.lang.Exception類。Unchecked異常繼承自java.lang.RuntimeException類。
  3. checked異常 : 表示無效,不是程式中可以預測的。比如無效的使用者輸入,檔案不存在,網路或者資料庫連結錯誤。這些都是外在的原因,都不是程式內部可以控制的。(外在原因導致,要顯示告訴人家是別人(外部)的錯,類似於解釋)

       unchecked異常:表示錯誤,程式內部的邏輯錯誤。是RuntimeException的子類,比如 IllegalArgumentException,NullPointerExceptionIllegalStateException          

(內部邏輯等原因,自己處理不好,定要自己承受結果)

 

 

 

 

相關文章