非受检异常
在 Kotlin 中,所有异常都是非受检的(Non-Checked Exceptions),这意味着编译器不会强迫你捕获其中的任何一个。而在Java中会要求我们捕获异常,例如下面的代码:
也就是说,我们需要写类似下面的try catch
代码块:
try {
jsonUtils.parseObject("{}");
} catch (Exception e) {
e.printStackTrace();
}
然而在Kotlin中情况就不是这样子了:当我们调用一个声明受检异常的 Java 方法时,Kotlin 不会强迫你做任何事情:
@Test fun testNonCheckedExceptions() {
val jsonUtils = JSONUtils()
jsonUtils.parseObject("{}")
}
但是,我们在运行的时候,还是会抛异常:
com.easy.kotlin.CallingJavaNullSafe > testNonCheckedExceptions FAILED
java.lang.Exception at CallingJavaNullSafe.kt:34
Kotlin的不受检异常,这样也会导致运行时抛出异常。关于异常的处理,该处理的终归还是要处理的。
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .