Kotlin技术分享-异常

  一、异常

  Kotlin 中异常处理的基本形式和 Java 类似

  

Kotlin技术分享-异常

 

  和 Java 不同的是,Kotlin 中 throw 结构是一个表达式,可以作为另一个表达式的一部分来使用

  例如下面这个例子,如果条件不满足,则将抛出异常,从而导致 status 变量也不会初始化

  

Kotlin技术分享-异常

 

  此外,在 Java 中对于受检异常必须显式地处理,通过 try/catch 语句捕获异常或者是抛给其调用者来处理。而 Kotlin 不区分受检异常和未受检异常,不用指定函数抛出的异常,可以处理也可以不处理异常

  在 Kotlin 中 ,try 关键字引入了一个表达式,从而可以把表达式的值赋给一个变量。如果一个 try 代码块执行正常,代码块中最后一个表达式就是结果,如果捕获到了一个异常,则相应 catch 代码块中最后一个表达式就是结果

  看以下例子,如果 try 表达式包裹的表达式会抛出异常,则返回值为 null ,否则为 true

  

Kotlin技术分享-异常

 

  但是,如果在 catch 语句中使用 return 结束了 compute 函数,则没有任何输出

  

Kotlin技术分享-异常