Java 中未處理的異常

Mohammad Irfan 2023年10月12日
  1. Java 中未處理的異常
  2. Java 中的異常處理
Java 中未處理的異常

本教程介紹了未處理的異常是什麼以及如何在 Java 中處理它。

異常是異常停止程式碼執行並導致程式碼終止的條件。

在 Java 中,錯誤程式碼或系統故障(例如記憶體問題)都可能導致異常。Java 提供了對異常處理的完整支援,以便程式碼可以順利執行而不會終止並提供所需的結果。

未處理的異常稱為未處理的異常,並導致在執行之前終止程式碼。

在本文中,我們將討論什麼是未處理的異常以及如何處理它。讓我們通過一些例子來理解。

Java 中未處理的異常

在這個例子中,我們將從使用者那裡取兩個整數值並將它們相除。這段程式碼工作正常,沒有任何錯誤或異常,但如果除數為零,Java 不會執行程式碼並丟擲異常。

由於我們這裡沒有使用任何異常處理程式,程式碼停止執行並異常終止。我們可以通過控制檯瞭解異常的原因。

這個異常是未處理的,如果處理不當,我們可以看到它是多麼危險。

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter any two values");

    int val1 = sc.nextInt();
    int val2 = sc.nextInt();
    double result = val1 / val2;
    System.out.println("result " + result); // this statement does not execute
  }
}

輸出:

Enter any two values
30
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at myproject.SimpleTesting.main(SimpleTesting.java:13)

Java 中的異常處理

在這裡,我們使用處理程式(try-catch 塊)來處理異常。這段程式碼與上面的程式碼類似,不同之處在於它有 try-catch 塊,並且即使在異常之後也讓程式碼執行。

注意程式碼的最後一個列印語句。在上面的程式碼中,這條語句因為異常沒有執行。

儘管如此,即使在下面的程式碼中出現異常後它也會執行,因為現在程式碼不會終止。此外,它會跳過程式碼並通過將結果列印到控制檯來開始執行。

請參閱下面的示例。

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    double result = 0.0;
    try {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter any two values");

      int val1 = sc.nextInt();
      int val2 = sc.nextInt();
      result = val1 / val2;
    } catch (Exception e) {
      System.out.println("Exception occured " + e);
    }
    System.out.println("result " + result);
  }
}

輸出:

Enter any two values
30
0
Exception occured java.lang.ArithmeticException: / by zero
result 0.0

相關文章 - Java Exception