Java 中如何使用 assert 来检查和处理异常?
2024-08-18 23:23:03
java中的assert用于检查条件,如果条件是false,则抛出assertioneror异常。基本用法:assert <condition>; 实战案例:检查变量是否大于某一值;自定义信息:assert <condition> : <message>; 检查异常:assertthrows(
Java 中使用 assert 异常检查和处理
Assert 是 Java 在运行过程中,用内置关键字检查程序中的具体条件是否为 true。如果条件为 false,它会抛出一个 AssertionError 异常。
基本用法
立即学习“Java免费学习笔记(深入);
要使用 assert,请使用以下语法:
assert <condition>;
其中
实战案例
让我们创建一个简单的程序来演示 assert 的用途:
public class AssertDemo { public static void main(String[] args) { int age = 15; // 检查年龄是否大于 18 岁 assert age >= 18 : "年龄必须大于或等于 18 岁"; // 如果条件为 false,将抛出 AssertionError System.out.println("年龄已验证"); } }
在上面的例子中,我们检查了一下 age 是大于还是等于 18.如果没有,就扔掉一个。 AssertionError 异常并显示消息。如果条件是 true,程序将继续执行。
自定义消息
我们可以为 AssertionError 异常提供自定义信息,使其更具信息性。因此,请使用以下语法:
assert <condition> : <message>;
在 AssertDemo 在示例中,我们将错误消息更新为:
// 检查年龄是否大于 18 岁 assert age >= 18 : "您必须年满 18 岁才能继续";
检查异常
Assert 还可用于检查特定异常是否被抛出。语法如下:
assertThrows(<exceptionType>, () -> <code block>);
其中 是要执行的代码块。
让我们修改 AssertDemo 例子是检查是否抛出 AssertionError 异常:
import static org.junit.jupiter.api.Assertions.assertThrows; // ... 其他代码 // 检查是否抛出 AssertionError 异常 assertThrows(AssertionError.class, () -> { int age = 15; assert age >= 18 : "您必须年满 18 岁才能继续"; });
在上述示例中,assertThrows 方法是检查执行代码块是否抛出 AssertionError 异常。如果出现异常,测试将通过;否则,将失败。
以上是Java 中如何使用 assert 检查和处理异常?详情请关注图灵教育的其他相关文章!