異常的關鍵字與格式與捕獲異常
Java異常處理的五個關鍵字:try catch finally throw throws
丟擲異常throw
當我們在編寫程式的時候,我們必須要考慮程式可能會出現問題的情況。比如說:在定義方法的時候,方法需要接受引數,那麼對於呼叫者來說,當呼叫方法的時候需要接受引數,首先需要對引數資料進行合法的判斷,若資料不合法,就應該告訴呼叫者,傳遞合法的資料進來。這時候就需要使用丟擲異常的方式來告訴呼叫者。
在Java當中,提供了一個關鍵字throw,他用來丟擲一個指定的異常物件。步驟:
-
建立一個異常物件,封裝一些提示資訊(資訊可以自己編寫)。
-
需要將這個異常物件告知給呼叫者,通過關鍵字throw就可以完成。throw丟擲一個異常物件
throw一般我們用在方法內,用來丟擲一個具體的異常物件,將這個異常物件丟擲給呼叫者處,並結束當前方法的執行。
使用格式:
java
throw new 異常類名(引數)
public class DemoThrows {
public static void main(String[] args) { read("C:/a.txt"); } public static void read(String path) throws FileNotFoundException{ // 校驗 如果你傳遞的路徑不是以.txt的結尾的,丟擲呼叫者檔案找不到異常 if (!path.endsWith(".txt")) { // 丟擲一個檔案找不到異常 throw new FileNotFoundException("檔案找不到"); } }
}
捕獲異常 try...catch
如果異常出現的話,會立刻終止程式。
-
如果使用throws關鍵字來宣告式處理,由該方法的呼叫者來處理(很危險)
-
在方法中使用try...catch的語句塊來處理異常
try...catch的方式就是捕獲異常
捕獲異常:java中對異常有針對性的語句塊來進行捕獲,可以對出現的異常進行指定的方式處理。
捕獲異常的格式:
java
try {
// 編寫的可能會出現的異常程式碼
//.....
} catch (異常型別 e) {
// 處理異常的邏輯程式碼
// 記錄日誌 // 列印異常資訊 // 繼續往上拋
}
try:該語句塊中可能出現異常的程式碼
catch:用來進行某種異常的捕獲,實現對捕獲到的異常進行處理。
備註:try和catch都不能單獨使用,一般建議連用。