抛出异常、捕获处理、自定义异常
和Java中一样。
main {
val num: Int? = null
try {
num !!.plus(1)
} catch(e: Exception) {
println(e)
}
}
fun check(num: Int?) {
num ?: throw MyException() //抛异常
checkNotNull(num) {"值为空"} //使用先决条件函数
}
class MyException() : Exception() //自定义异常
先决条件函数
条件必须满足,目标代码才会执行。使用这些内置函数可以抛出带自定义信息的异常。
| checkNotNull | 如果参数为null,抛出IllegalStateException,否则返回非null值。 |
| require | 如果参数为false,抛出IllegalArgumentException。 |
| requireNotNull | 如果参数为null,抛出IllegalStateException,否则返回非null值。 |
| error | 如果参数为null,抛出IllegalStateException并输出错误信息,否则返回非null值。 |
| assert | 如果参数为false,抛出AssertError,并打上断言编译器标记。 |
296

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



