Java是一種廣泛使用的編程語言,它提供了一種異常處理機制來處理程序運行時的錯誤。接下來會介紹一些Java異常以及如何處理它們。
public class Example { public static void main(String[] args) { int a = 10; int b = 0; try { int c = a / b; } catch (ArithmeticException e) { System.out.println("除數為零"); e.printStackTrace(); } } }
上面的示例展示了一個處理除以零異常的例子。下面是一些常見的Java異常以及如何處理它們:
1. ArithmeticException:算術異常
int a = 10; int b = 0; try { int c = a / b; } catch (ArithmeticException e) { System.out.println("除數為零"); e.printStackTrace(); }
2. NullPointerException:空指針異常
String str = null; try { System.out.println(str.length()); } catch (NullPointerException e) { System.out.println("對象為 null"); e.printStackTrace(); }
3. ArrayIndexOutOfBoundsException:數組下標越界異常
int[] arr = {1, 2, 3}; try { int i = arr[3]; } catch (ArrayIndexOutOfBoundsException e) { System.out.println("數組下標越界"); e.printStackTrace(); }
4. FileNotFoundException:文件未找到異常
try { File file = new File("notfound.txt"); FileInputStream fis = new FileInputStream(file); } catch (FileNotFoundException e) { System.out.println("文件未找到"); e.printStackTrace(); }
以上是一些常見的Java異常以及如何處理它們。通常,要捕獲并處理異常,可以使用try-catch語句塊。
try塊包含可能引發異常的代碼。異常被拋出后,程序控制權轉移到catch塊。catch塊中可以指定要捕獲的異常類型,以及發生異常時要執行的代碼。
try { // 可能引發異常的代碼 } catch (ExceptionType1 e1) { // 處理 ExceptionType1 異常的代碼 } catch (ExceptionType2 e2) { // 處理 ExceptionType2 異常的代碼 } catch (Exception e) { // 處理所有類型的異常的代碼 }
在處理異常時,可以使用以下方法:
1. 打印異常堆棧信息
try { // 可能引發異常的代碼 } catch (Exception e) { e.printStackTrace(); }
2. 拋出新異常
try { // 可能引發異常的代碼 } catch (Exception e) { throw new NewException("新異常信息"); }
通過以上方式,可以對 Java 異常進行處理和捕獲。