在Java中,異常捕獲和處理是通過使用try-catch語句塊來實現的。當你預計代碼可能會拋出異常時,可以將這段代碼放在try塊中。如果try塊中的代碼拋出了異常,程序會立即跳轉到與之關聯的catch塊。
以下是Java中異常捕獲和處理的基本語法:
try {
// 可能會拋出異常的代碼
} catch (ExceptionType1 e) {
// 處理ExceptionType1類型的異常
} catch (ExceptionType2 e) {
// 處理ExceptionType2類型的異常
} finally {
// 無論是否發生異常,都會執行此代碼塊
}
其中,ExceptionType1
和ExceptionType2
是你希望捕獲的異常類型,例如IOException
、NullPointerException
等。你可以根據需要添加任意數量的catch塊來處理不同類型的異常。
finally塊是可選的,它用于存放無論是否發生異常都需要執行的代碼。例如,關閉文件流、釋放資源等操作。
以下是一個簡單的示例,演示了如何使用try-catch語句處理異常:
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("Result: " + result);
} catch (ArithmeticException e) {
System.err.println("Error: Division by zero");
} finally {
System.out.println("This block will always be executed");
}
}
public static int divide(int a, int b) throws ArithmeticException {
return a / b;
}
}
在這個示例中,我們嘗試將10除以0,這將導致ArithmeticException
異常。當異常發生時,程序會跳轉到與之關聯的catch塊,打印錯誤信息。最后,finally塊中的代碼將被執行。