Java 中的 ArithmeticException10 Sept 2024 | 4 分钟阅读 异常处理是处理运行时错误的最强大机制之一,以便能够维持应用程序的正常流程。在 Java 中,异常是一种反常情况。Java 编程语言定义了各种异常。在本节中,我们将讨论 Java 中一个重要的异常,即算术异常。 算术异常是一种代码的异常结果或未检查错误,当代码在运行时出现错误的数学或算术运算时,就会抛出或引发该异常。当分数的除数为 0 且 JVM 无法计算出结果时,就会出现运行时问题,也称为异常;因此,程序执行终止,并引发异常。请注意,在引发异常的点,程序终止。但是,该点之前的代码已执行,并且显示了适当的结果。 算术异常结构算术异常的基类是 java.lang.ArithmeticException,它是 java.lang.RuntimeException 的子类,而 java.lang.RuntimeException 又是 java.lang.Exception 的子类。 算术异常构造函数
算术异常如何发生?算术异常可能发生的两种情况如下。
除以 0文件名: ArithmeticException.java 输出 Exception in thread "main" java.lang.ArithmeticException: / by zero at ArithmeticException.divide(ArithmeticException.java:6) at ArithmeticException.main(ArithmeticException.java:16) 非终止的 Big Decimal文件名: ArithmeticException1.java 输出 Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.base/java.math.BigDecimal.divide(BigDecimal.java:1766) at ArithmeticException1.main(ArithmeticException1.java:9) 说明:在上面的程序中,Big Decimal 类不知道要显示的除法后的确切输出。这是因为输出是非终止的十进制扩展。一种解决方法是提供限制。例如,我们可以在程序中明确说明输出应限制在 6 位小数。请看下面的程序。 文件名: ArithmeticException2.java 输出 0.647058 处理算术异常我们可以使用 try-catch 块自行处理算术异常。请看下面的程序。 文件名: HandleArithmeticException.java 输出 Should avoid dividing by 0 java.lang.ArithmeticException: / by zero 对于非终止的十进制扩展,我们所要做的就是将发生除法的行包装在 try 块中。 文件名: HandleArithmeticException1.java 输出 Should avoid dividing by an integer that leads to non-terminating decimal expansion. java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. |
在本节中,我们将涵盖随时可能发生的 try-catch-finally 序列,这些序列会在出现异常时发生,以及控制流在提供的每种情况下的工作方式。在异常处理过程中,我们将遍历许多示例以……
阅读 6 分钟
Java 是一种支持泛型类和方法开发的编程语言。Java 的泛型功能使用户能够设计可以操作多种对象类型而无需进行类型转换的代码。尽管如此,泛型类型有时仍需要转换为特定类型……
阅读 4 分钟
?异常是程序中发生的不期望的错误。大多数情况下,当我们的代码出错时会发生异常,但可以处理它。它会中断代码的正常流程。例如,代码会抛出异常……
阅读 4 分钟
数字序列程序是编码挑战、竞争性编程甚至现实世界应用程序的常见且重要的组成部分。它们涉及生成或查找数字序列中的模式,这使得它们成为任何 Java 程序员的宝贵技能。在本节中,我们将探讨数字……
5 分钟阅读
是访问修饰符。它可以分配给变量、方法和内部类。它是限制性最强的访问修饰符。需要记住的点:私有访问修饰符只能在同一个类中访问。我们不能将 private 分配给外部类和接口。...
阅读 3 分钟
在面向对象编程中,封装是一个基本概念,它指的是隐藏对象的实现细节并提供访问其属性和行为的接口。访问器和修改器方法是与 Java 中的封装相关的两个重要概念。访问器访问器方法,也称为...
阅读 4 分钟
?在保护 Java 包时,了解 cacerts 和 Keystore 的原理至关重要。它们是 Java 安全基础设施的两个基本组成部分,在确保 Java 程序数据的机密性和完整性方面发挥着主要作用。在本节中,我们将...
阅读 4 分钟
当实例变量的值未更改时,使用它不是一个好主意。此时,我们可以为该变量应用静态修改。每当我们声明变量为 static 时,就会在类级别生成一个单独的变量,并由所有...共享。
阅读 4 分钟
在本节中,我们将创建一个 Java 程序,该程序在数组中实现两个栈。两个栈意味着这两个栈都使用同一个数组来存储元素。以下是必须由这两个栈实现的几个方法...
阅读 3 分钟
在计算机语言中,枚举用于表示一组命名的常量。例如,一副扑克牌中的四种花色(红心、方块、梅花、黑桃)可以由枚举类型成员 Club、Diamonds、Heart 和 Spade 表示……
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India