如何在Java中处理ArithmeticException(未选中)?

该java.lang.ArithmeticException是一个未经检查的异常在Java中。通常,会遇到java.lang.ArithmeticException:/零,这是在尝试将两个数字相除且分母中的数字为零时发生的。ArithmeticException 对象可以由JVM构造。

例1

public class ArithmeticExceptionTest {

   public static void main(String[] args) {

      int a = 0, b = 10;

      int c = b/a;

      System.out.println("Value of c is : "+ c);

   }

}

在上面的示例中,由于分母值为零,  所以发生了ArithmeticExeption 。

  • java.lang.ArithmeticException:java在除法期间抛出的异常。

  • /零:是在创建ArithmeticException对象时提供给ArithmeticException 类的详细消息。

输出结果

Exception in thread "main" java.lang.ArithmeticException: / by zero

      at ArithmeticExceptionTest.main(ArithmeticExceptionTest.java:5)


如何处理ArithmeticException

让我们使用try和catch块处理ArithmeticException 。

  • 将可以引发ArithmeticException的语句括 在try和catch块中。

  • 我们可以抓住 的ArithmeticException

  • 对我们的程序采取必要的操作,因为执行不会 中止。

例2

public class ArithmeticExceptionTest {

   public static void main(String[] args) {

      int a = 0, b = 10 ;

      int c = 0;

      try {

         c = b/a;

      } catch (ArithmeticException e) {

         e.printStackTrace();

         System.out.println("We are just printing the stack trace.\n"+ "ArithmeticException is handled. But take care of the variable \"c\"");

      }

      System.out.println("c的值:"+ c);

   }

}

当一个异常 发生时,执行下降到捕获 块 从异常发生的点。它在catch块中执行该语句,并继续在 try和catch 块之后出现的语句。

输出结果

We are just printing the stack trace.

ArithmeticException is handled. But take care of the variable "c"

Value of c is : 0

java.lang.ArithmeticException: / by zero

        at ArithmeticExceptionTest.main(ArithmeticExceptionTest.java:6)

以上是 如何在Java中处理ArithmeticException(未选中)? 的全部内容, 来源链接: utcz.com/z/352582.html

回到顶部