2024-07-07|閱讀時間 ‧ 約 26 分鐘

Java入門-Day9:例外處理

為什麼要使用「例外處理」

在程式設計中,「例外處理」是一種處理程式執行過程中出現異常情況的機制。當程式執行中出現錯誤或不可預期的情況時,可以通過例外處理來捕獲這些異常,並且進行相應的處理,如錯誤記錄、恢復操作、友好提示等,從而提升程式的可靠性和容錯能力。

語法

在Java中,例外處理主要通過 try-catch 塊來實現,也可以使用 throws 關鍵字聲明方法可能拋出的異常。

基本語法

try {
// 可能拋出異常的代碼
} catch (ExceptionType1 e1) {
// 異常處理1
} catch (ExceptionType2 e2) {
// 異常處理2
} finally {
// 可選的finally區塊,無論是否拋出異常都會執行
}

使用 throws 聲明異常

public void readFile() throws IOException {
// 可能拋出IOException的代碼
}

常見異常類型

Java中有許多內建的異常類型,通常根據錯誤的類型和情況選擇適當的異常類型捕獲和處理。

  • Checked Exception(檢查異常): 需要在方法聲明或捕獲處理的異常,如 IOException
  • Unchecked Exception(未檢查異常): 無需在方法聲明處理的異常,如 NullPointerExceptionArrayIndexOutOfBoundsException
  • Error: 表示嚴重的問題,通常是由Java虛擬機(JVM)引發的,如 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());
}
}
}

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.