Java 忽略异常
在计算机编程中,在软件测试过程中,我们不可能涵盖每一个输入;相反,我们测试软件的一些通用场景、单元和条件路径。但是,在某些情况下,你无法防止发生运行时错误并被终止,除非你使用了适当的异常处理机制。
但是多亏了 Java 编程,它提供了异常处理等概念,你可以防止运行时错误并在终止或崩溃程序之前处理它们。
Java 中的异常处理
异常处理是一种帮助开发人员在终止程序之前处理错误的技术。它用于处理程序中可能导致错误的异常情况,以维持程序的正常流程。
但是,它仍然需要开发人员和测试人员的技能,即他们如何专业和高效地使用异常处理技术来忽略 Java 中的异常。
我们可以使用特殊的关键字来处理 Java 中的异常:try
、catch
、finally
、throws
和 throw
。
假设我们有一个将两个数字相除的小程序。
package codes;
public class Codes {
public static void main(String[] args) {
System.out.println(12/2);
System.out.println(12/1);
System.out.println(12/0);
System.out.println("This is the line after the exception");
}
}
输出:
6
12
Exception in thread "main" java.lang.ArithmeticException: / by zero
at codes.Codes.main(Codes.java:10)
在上面的例子中,12 先除以 2、1,然后是 3。前两个数字 2 和 1 已经平滑地除掉了数字 12,没有产生任何错误,但是最后一位数字 0 却导致了异常,程序异常终止。
原因是我们不能用 0 来除任何数字,所以编译器抛出了一个运行时错误并终止了程序。如你所见,由于异常终止,程序的最后一行没有执行。
忽略 Java 中的异常
正如我们在上面的例子中看到的,我们通过将一个数字除以 0 得到了一个 ArithmeticException
。但是在 Java 中有一些方法可以忽略这些异常或异常情况。
我们再来看看上面的例子,尽量忽略异常,保持程序的正常流程。
package codes;
public class Codes {
public static void main(String[] args) {
try{
System.out.println(12/2);
System.out.println(12/1);
System.out.println(12/0);
}
catch (ArithmeticException e) {
System.out.println ("Division by Zero() isn't a valid expression\n"
+ "The type of this exception is " + e);
}
System.out.println("This is the line after the exception");
}
}
输出:
6
12
Division by Zero() isn't a valid expression
The type of this exception is java.lang.ArithmeticException: / by zero
This is the line after the exception
在这个程序中,我们使用 try-catch
块来忽略 Java 程序中的异常。基本上,在 try
块中,我们有可能导致运行时错误的代码,如果在 try
块中发现任何异常,则 catch
块用于显示任何要解释的自定义消息例外。
在这种情况下,前两条语句运行顺利,第三条语句导致由 try-catch
处理的异常,并打印最后一行代码。
Java 异常的常见示例
在 Java 中,我们有不同的异常类型;每个人都对场景或条件负责。以下是一些最常见的例外情况。
-
ClassNotFoundException
-
NoSuchMethodException
-
NullPointerException
-
ArrayIndexOutOfBoundsException
-
IllegalStateException
-
ArithmeticException
-
FileNotFoundException
相关文章
如何在 Java 中把双精度数四舍五入到小数点后两位数
发布时间:2023/09/20 浏览次数:194 分类:Java
-
本文介绍了如何在 Java 中用四种不同的方法将双精度数四舍五入到小数点后两位。在这篇文章中,我们将讨论使用 Java 将一个双精度数四舍五入到小数点后两位的方法。
Java 中格式化双精度值
发布时间:2023/09/20 浏览次数:76 分类:Java
-
这篇文章将要介绍格式化 Java 中的 double 值。本文介绍了如何在 Java 中格式化双精度类型值。Java 中有多种格式化双精度值的方法,例如 DecimalFormat 类,printf() 方法,format() 方法,String.format() 方
在 Java 中截断 Double
发布时间:2023/09/20 浏览次数:170 分类:Java
-
本文介绍如何在 Java 中截断 double 在本文中,我们将研究如何在 Java 中将数字截断或舍入为 n 个小数点。Java 提供了两种基本类型来存储十进制值,即 double 和 float。
在 Java 中将 Double 转换为浮点数
发布时间:2023/09/20 浏览次数:189 分类:Java
-
本文讨论如何在 Java 中将双精度值转换为浮点数。在本文中,我们将学习如何在 Java 中将双精度值转换为浮点数。Double 和 float 类型用于在 Java 中存储实数或浮点数,但 double 数据类型比 float 更
Java 中的浮点数和 Double 数据类型
发布时间:2023/09/20 浏览次数:148 分类:Java
-
本文重点介绍 Java 中的 float 和 double 数据类型 Float 和 double 数据类型用于在 Java 中存储实数或浮点数,但 double 数据类型比 float 更精确。double 是浮点数的默认数据类型。
在 Java 中比较双精度数
发布时间:2023/09/20 浏览次数:116 分类:Java
-
了解如何在 Java 中比较双精度数。本文将告诉你如何在 Java 中比较双精度数。有一些内置方法可以比较双精度数。本指南中解释了这些方法。
Java 中的双精度
发布时间:2023/09/20 浏览次数:63 分类:Java
-
本文介绍了 double 及其在 Java 中的用法。本文介绍了 double 及其在 Java 中的用法。Double 是 Java 中用于存储浮点值的数据类型。
在 Java 中将 Long 转换为 Double
发布时间:2023/09/20 浏览次数:187 分类:Java
-
本文介绍如何在 Java 中将 long 值转换为 double 值。本文介绍如何在 Java 中将 long 类型转换为 double 类型。在 Java 中,long 和 double 都用于存储数值。long 用于存储非浮点值,而 double 用于存储浮点值
如何在 Java 中将函数作为参数传递
发布时间:2023/09/20 浏览次数:118 分类:Java
-
本文介绍了在 Java 中把一个函数作为参数传递给另一个函数的方法。本文将讨论如何在 Java 中把一个函数作为参数传递给另一个函数。我们将讨论两种不同的方法来传递一个函数作为 Java 中的参