Java編程過程中會遇到兩種類型的異常,分別是運行時異常和編譯時異常。
運行時異常是指在程序運行的過程中出現的異常。這種異常不需要在代碼中顯式地捕獲或聲明,所以也被稱作非檢查異常。常見的運行時異常包括空指針異常、數組下標越界異常、類型轉換異常等。下面是一個例子:
public static void main(String[] args) { String s = null; System.out.println(s.charAt(0)); } //出現異常:Exception in thread "main" java.lang.NullPointerException
編譯時異常是指在編譯程序的過程中出現的異常。這種異常需要在代碼中顯式地進行處理,否則代碼無法編譯通過。因此也被稱為檢查異常。常見的編譯時異常包括文件找不到異常、表達式語法錯誤異常等。下面是一個例子:
public static void main(String[] args) { try { int i = System.in.read(); } catch (IOException e) { e.printStackTrace(); } } //需要使用try-catch語句來處理異常
運行時異常和編譯時異常的區別在于,運行時異常是在程序運行過程中拋出的,可以通過在方法簽名中使用throws
關鍵字來聲明這些異常;而編譯時異常則是在編譯過程中拋出的,在代碼中必須捕獲并進行處理。