一、概念
条件必须满足,代码才会继续往下执行。
以下函数,一个参数的重载默认了异常信息,两个参数的重载可以自定义异常信息。
| require( ) | check( ) | assert( ) | |
| 相同 | 如果参数值为 false 抛出异常,为 true 代码继续往下执行。 | ||
| 区别 | 对外:检查传入的参数。 | 对内:检查自身状态。 | 检查是否和预估相符 |
| require( ) + check( ) = 检查前置条件,通过了才可以执行真正的业务逻辑。 | 后置条件:确保结果符合预期 | ||
| 抛出 IllegalArgumentException | 抛出 IllegalStateException | 抛出 AssertionError | |
| requireNotNull( ) | checkNotNull( ) | error( ) | |
| 相同 | 如果参数值为 null 抛出异常,否则返回 非null 值。 | ||
| 区别 | 对外:检查传入的参数。 | 对内:检查自身状态。 | ? |
| requireNotNull( ) + checkNotNull( ) = 检查前置条件,通过了才可以执行真正的业务逻辑。 | ? | ||
| 抛出 IllegalArgumentException | 抛出 IllegalStateException | 抛出 IllegalStateException | |
fun demo(a: Int, b: Int) {
require(a != b)
// require(a != b) { "传入的两个值不能相等" } //自定义异常信息
//业务代码(上面不通过这里不会执行)
}
1129

被折叠的 条评论
为什么被折叠?



