public enum Asserts extends Enum<Asserts>
if (!condition) throw new RuntimeException(); 即可。
但是深入思考下去,关于条件检查也有不同的区别。
1. 检查调用者是否遵照方法声明正确地使用,如注释的要求或者@NonNull,@Nullable等规范 2. 类内断言。如果类本身出现异常,如错误的状态等。常见的有后置检查,类不变量,私有方法的内部检查 3. 确认检查。当不确定使用的api是否满足条件时做的处理,如果满足条件则调用,不满足则不调用。 4. 测试断言。测试代码中使用,确保测试代码正确执行。 5. 异常结果。当调用方法正常返回时,但是返回的结果是错误的,比如两个int类型相加,返回结果因为溢出而错误, 但是程序没有任何异常抛出。
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
asserts(boolean assertion) |
static void |
asserts(boolean assertion,
Supplier<Object> errorMessage) |
static Asserts |
valueOf(String name)
返回带有指定名称的该类型的枚举常量。
|
static Asserts[] |
values()
按照声明该枚举类型的常量的顺序, 返回
包含这些常量的数组。
|
public static Asserts[] values()
for (Asserts c : Asserts.values()) System.out.println(c);
public static Asserts valueOf(String name)
name - 要返回的枚举常量的名称。IllegalArgumentException - 如果该枚举类型没有带有指定名称的常量NullPointerException - 如果参数为空值public static void asserts(boolean assertion)
Copyright © 2021. All rights reserved.