異常是程序在運行過程中出現錯誤或異常情況時的一種機制。
在Java中,異常分為兩種:可檢查異常和不可檢查異常。
可檢查異常是指編譯器在編譯代碼時就能檢查出來的異常,例如IO異常、SQL異常等。在處理可檢查異常時,必須要使用try-catch語句進行捕獲處理。
try { // 可能會拋出異常的代碼 } catch (Exception e) { // 異常處理邏輯 }
不可檢查異常是指由Java虛擬機在運行時才能檢查出來的異常,例如空指針異常、數組越界異常等。在處理不可檢查異常時,可以使用try-catch語句進行捕獲處理,也可以使用throws關鍵字將異常拋出給上層調用者處理。
try { // 可能會拋出異常的代碼 } catch (RuntimeException e) { // 異常處理邏輯 }
以上代碼使用了RuntimeException類作為捕獲異常的類型,這是因為Java中所有不可檢查的異常都是RuntimeException及其子類。
除了使用try-catch語句進行異常處理外,還可以使用finally子句來釋放資源。
try { // 可能會拋出異常的代碼 } catch (Exception e) { // 異常處理邏輯 } finally { // 釋放資源 }
當使用try-catch語句捕獲異常時,需要注意以下幾點:
- 要先捕獲子類異常,再捕獲父類異常。
- 在catch語句中要避免使用System.out.println()等會影響程序性能的操作。
- 不要將try-catch語句寫得過于復雜,應該盡可能將代碼區分為多個try塊。