Java try的意思
在Java程式語言中,try
關鍵字用於異常處理結構的一部分。它標誌著 try-catch 或 try-with-resources 語句的開始,用於捕獲和處理代碼塊中可能拋出的異常。
try
塊後面通常跟著一個或多個 catch
塊,用於處理不同類型的異常。如果 try
塊中發生了異常,Java 虛擬機會尋找與之匹配的 catch
塊來處理該異常。如果沒有匹配的 catch
塊,異常會繼續向上拋出,直到被處理或程式終止。
例如:
try {
// 可能拋出異常的代碼
int number = Integer.parseInt("123");
System.out.println(number);
} catch (NumberFormatException e) {
// 處理 NumberFormatException 的代碼
System.err.println("輸入的字元串無法轉換為數字:" + e.getMessage());
} catch (Exception e) {
// 處理其他異常的代碼
System.err.println("未知異常發生:" + e.getMessage());
}
在上面的例子中,try
塊中包含了可能拋出 NumberFormatException
的代碼。如果有異常發生,它會進入相應的 catch
塊進行處理。
從Java 7開始,Java還引入了 try-with-resources
語句,它提供了一種自動關閉資源的方法。在 try
塊中聲明的資源(如 InputStream
、Socket
等)會在 finally
塊中自動關閉,即使 try
塊中沒有發生異常。
例如:
try (InputStream input = new FileInputStream("example.txt")) {
// 使用 input 進行讀操作
int data = input.read();
while (data != -1) {
System.out.print((char) data);
data = input.read();
}
} catch (IOException e) {
// 處理 IO 異常的代碼
System.err.println("讀取檔案時發生異常:" + e.getMessage());
}
在這個例子中,try
塊後面跟著一個 catch
塊,用於處理可能發生的 IOException
。try
塊中聲明的 InputStream
資源會在 try-with-resources
語句結束時自動關閉。