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

這兩個概念看了忘,碰着了又看,總是傻傻的分不清楚,今天把心得結合從網上搜的資料簡單整理一下,但願幫本身明確區分開這兩個概念,並緊緊的記住數組

1.檢查型異常(Checked Exception)spa

  我的理解:所謂檢查(Checked)是指編譯器要檢查這類異常,檢查的目的一方面是由於該類異常的發生難以免,另外一方面就是讓開發者去解決掉這類異常,因此稱爲必須處理(try ...catch)的異常。若是不處理這類異常,集成開發環境中的編譯器通常會給出錯誤提示。對象

  例如:一個讀取文件的方法代碼邏輯沒有錯誤,但程序運行時可能會由於文件找不到而拋出FileNotFoundException,若是不處理這些異常,程序未來確定會出錯。因此編譯器會提示你要去捕獲並處理這種可能發生的異常,不處理就不能經過編譯。blog

 

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

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

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

相關文章
相關標籤/搜索