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