java異常分類及處理

一、概念

如果某個方法不能按照正常的途徑完成任務,就可以通過另一種路徑退出方法。在這種情況下
會拋出一個封裝了錯誤信息的對象。此時,這個方法會立刻退出同時不返回任何值。另外,調用
這個方法的其他代碼也無法繼續執行,異常處理機制會將代碼執行交給異常處理器。

 

二、異常分類

Throwable 是 Java 語言中所有錯誤或異常的超類,在 Java 中只有 Throwable 類型的實例纔可以被拋出(throw)或者捕獲(catch),它是異常處理機制的基本組成類型。
實例分爲 Error 和 Exception 兩種。

                 

2.1、Error

Error 類是指 java 運行時系統的內部錯誤和資源耗盡錯誤。應用程序不會拋出該類對象。如果
出現了這樣的錯誤,除了告知用戶,剩下的就是盡力使程序安全的終止。 (嚴重問題)   

2.2、Exception

Exception 又有兩個分支 , 一個是運行時異常 RuntimeException , 一 個是檢查異常 CheckedException

RuntimeException 如 :NullPointerException 、 ClassCastException ;
CheckedException 如: I/O 錯誤導致的 IOException、SQLException。

RuntimeException 是那些可能在 Java 虛擬機正常運行期間拋出的異常的超類。 如果出現 RuntimeException,那麼一
定是程序員代碼書寫導致的錯誤.

CheckedException:一般是外部錯誤,這種異常都發生在編譯階段,Java 編譯器會強
製程序去捕獲此類異常,在編譯期就顯式的通知程序員必須處理,即會出現要求你把這段可能出現異常的程序進行 try catch,該類異常一
般包括幾個方面:

  1. 試圖在文件尾部讀取數據
  2. 試圖打開一個錯誤格式的 URL
  3. 試圖根據給定的字符串查找 class 對象,而這個字符串表示的類並不存在

異常處理

java程序在運行時或者編譯時如果出現異常,則會產生異常對象,對於該異常對象的處理方法,通常包含兩種解決方法:

  1. 異常拋出(throws)

  2. 異常捕獲(try...catch...fianlly)

java中的異常處理通常包含以下關鍵字:

throw :一定會拋出該異常,通常出現在方法內部用於顯式拋出

throws :拋出有可能出現的異常,出現在方法聲明區域(在參數列表後面)

try :try語句塊一般用於將有可能出現異常的語句包裹

catch:處理try語句塊中可能出現的異常,一旦異常產生則進入對應的catch塊(可以catch多種異常)

finally:finally語句塊中內容無論是否出現異常,都會執行,一般用執行資源清理與回收
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章