在程式設計中,「例外處理」是一種處理程式執行過程中出現異常情況的機制。當程式執行中出現錯誤或不可預期的情況時,可以通過例外處理來捕獲這些異常,並且進行相應的處理,如錯誤記錄、恢復操作、友好提示等,從而提升程式的可靠性和容錯能力。
在Java中,例外處理主要通過 try-catch
塊來實現,也可以使用 throws
關鍵字聲明方法可能拋出的異常。
try {
// 可能拋出異常的代碼
} catch (ExceptionType1 e1) {
// 異常處理1
} catch (ExceptionType2 e2) {
// 異常處理2
} finally {
// 可選的finally區塊,無論是否拋出異常都會執行
}
throws
聲明異常public void readFile() throws IOException {
// 可能拋出IOException的代碼
}
Java中有許多內建的異常類型,通常根據錯誤的類型和情況選擇適當的異常類型捕獲和處理。
IOException
。NullPointerException
、ArrayIndexOutOfBoundsException
。OutOfMemoryError
。開發人員可以通過 throw
關鍵字主動觸發異常,指示程式出現某種錯誤條件。
public class CustomExceptionExample {
public static void main(String[] args) {
int age = -1;
try {
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}
} catch (IllegalArgumentException e) {
System.out.println("Exception caught: " + e.getMessage());
}
}
}
開發人員可以定義自己的異常類別,繼承自 Exception
或其子類別,來創建用戶自定義的異常。
// 自定義異常類別
class CustomException extends Exception {
public CustomException(String message) {
super(message);
}
}
public class CustomExceptionExample {
public static void main(String[] args) {
int balance = 100;
int withdrawAmount = 200;
try {
if (withdrawAmount > balance) {
throw new CustomException("Withdrawal amount exceeds balance");
}
// 其他操作...
} catch (CustomException e) {
System.out.println("Custom Exception caught: " + e.getMessage());
}
}
}