6.1概述
考點:1
概述
Java為異常定義了類和關鍵字,把異常加入了Java語言的結構體系,從而簡化了錯誤控制代碼。異常處理將錯誤處理的控制流從正常進行的控制流中分離開,使我們再也不用檢查一個特定的錯誤,并在程序的多處地方對其進行控制。此外,也不需要在方法調用的時候檢查錯誤,而只需要在異?刂颇K中處理錯誤。
6.2異常類型
考點:2
異常類型(捕獲異常、聲明異常、拋出異常)
異常類在Java語言中是一種較特殊的類,按照異常處理的不同可以分為捕獲異常、聲明異常、拋出異常和運行異常。
1.捕獲異常
若某個方法產生一個異常,則必須保證該異常能被捕獲,并獲得正確處理。對于Java的異?刂茩C制,通過在try子句中處理需要解決的問題,然后在catch子句中對來自try子句代碼內部的錯誤進行處理,最后通過finally子句釋放資源,實現異常處理的出口。語法如下:
try{
// 可能產生異常的代碼
}catch(Typel id1){
// 處理Type1異常的代碼
}catch(Type2 id2)}
// 處理Type2異常的代碼
}finally{
// 最后異常處理的代碼
}
2.聲明異常
Java方法遇到自己不能解決的情況,就會聲明異常。聲明異常的方法在方法聲明中必須描述潛在的異常類型,它屬于方法聲明的一部分,位于自變量(參數)列表的后面。語法如下:
throws exception),exception2,…// 異常列表
3.拋出異常
在捕獲一個異常之前,必須先有異常拋出。通過使用拋出異常來生成一個異常對象。要求能拋出的異常必須是Throwable類或其子類的實例,并且拋出異常和生成異常對象都是通過throw語句實現:
catch(Exception e){
System.out.println(“一個異常已經產生”);
throw e;
}
6.3處理異常
考點:3
處理異常
處理異常主要包括捕獲、程序流程的跳轉和異常處理語句塊的定義。處理異常的時候還需要注意try和catch子句的匹配、父類和子類異常匹配,以及catch子句的排序等問題。
1.try和catch子句
由try引導產生異常的“警戒區”,后面跟的是catch子句,try內部不同的方法調用可能產生相同的異常,對于同一個異常只需要一個catch子句。
2.finally子句
finally子句作為捕獲異常的統一出口,實現了釋放資源、關閉文件等工作,從而保證了控制流在轉到其他路徑之前,程序的狀態被統一管理。
3.異常處理的原則
對異常事件分類,通過異常層次實現控制;異常處理代碼和正常代碼分開;使用finally作為統一出口;能簡單測試就盡量不使用異?刂;自定義異常類時,使用Throwable類及其子類,一般定義為非運行時的異常,除非在運行時產生或者不易預測。
文章來源于領測軟件測試網 http://www.kjueaiud.com/