Java語言是一種編譯型語言,它的異常處理機制是Java語言中非常重要的一部分。Java異常是指程序執行過程中發生的一些不正常的情況,例如程序運行時出現訪問無效內存位置、輸入非法參數等錯誤。Java異常有兩種類型:Checked Exception(檢查異常)和Unchecked Exception(非檢查異常)。
public class TestException { public static void main(String[] args) { try { String s = null; s.length(); } catch (Exception e) { System.out.println("發生了異常" + e.getMessage()); } } }
Checked Exception(檢查異常)是指在編譯期間就可以發現的異常。它的處理方式是通過try-catch塊捕獲異常或者將異常拋出去交給上一級函數處理。
以下是一些常見的Java Checked Exception:
- IOException: 文件輸入輸出異常
- ClassNotFoundException: 找不到類異常
- SQLException: SQL異常
Unchecked Exception(非檢查異常)是指在編譯期間無法發現的異常,在程序運行時被發現。Java虛擬機會在程序運行時拋出這些異常。
以下是一些常見的Java Unchecked Exception:
- NullPointerException: 空指針異常
- ArrayIndexOutOfBoundsException: 數組下標越界異常
- ClassCastException: 類型轉換異常
Java異常類結構圖:
+-------------------+ | java.lang.Object | +-------------------+ | +-------------------+ | java.lang.Throwable | +-------------------+ | +-------------------+------------------+ | java.lang.Exception | java.lang.Error | +-------------------+------------------+ | +-------------------+------------------+------------------+ | RuntimeException | IOException | SQLException | +-------------------+------------------+------------------+