檢查型異常(Checked Exception)與非檢查型異常(Unchecked Exception)


這兩個概念看了忘,碰着了又看,老是傻傻的分不清楚,今天把心得結合從網上搜的資料簡單整理一下,希望幫自己明確區分開這兩個概念,並牢牢的記住

1.檢查型異常(Checked Exception)

  個人理解:所謂檢查(Checked)是指編譯器要檢查這類異常,檢查的目的一方面是因為該類異常的發生難以避免,另一方面就是讓開發者去解決掉這類異常,所以稱為必須處理(try ...catch)的異常。如果不處理這類異常,集成開發環境中的編譯器一般會給出錯誤提示。

  例如:一個讀取文件的方法代碼邏輯沒有錯誤,但程序運行時可能會因為文件找不到而拋出FileNotFoundException,如果不處理這些異常,程序將來肯定會出錯。所以編譯器會提示你要去捕獲並處理這種可能發生的異常,不處理就不能通過編譯。

 

2.非檢查型異常(Unchecked Exception)

  個人理解:所謂非檢查(Unchecked)是指編譯器不會檢查這類異常,不檢查的則開發者在代碼的編輯編譯階段就不是必須處理,這類異常一般可以避免,因此無需處理(try ...catch)。如果不處理這類異常,集成開發環境中的編譯器也不會給出錯誤提示。

  例如:你的程序邏輯本身有問題,比如數組越界、訪問null對象,這種錯誤你自己是可以避免的。編譯器不會強制你檢查這種異常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM