第十章 Kotlin之异常

异常类

如你所想,kotlin中所有的异常类跟java一样,都是Throwable类的后代。每个异常类都有消息,堆栈信息。

表现形式,雷同java:

throw Exception( errorMsg )         //不需new关键字

try{

    //业务代码

}catch( e : Exception ){

    //处理异常

}finally{

    //可选

}


Try表达式

try表达式返回值是,try的最后一个表达式或者catch块中最后一个表达式。

Nothing特殊类型

在kotlin中throw也属于表达式,它的类型就是nothing类型,该类型没有值。

var temp = a ?: throw Exception("a   is  null")  //返回a的值,或抛异常

可以用nothing来标记一个永远不会返回的函数,通常用来抛异常:

官方解释:

上述temp语句,表示如下:

kotlin中,定义null属于nothing类型

实际使用kotlin开发中,由于有严格的空安全,个人拙见感觉用处不大。

你可能感兴趣的:(第十章 Kotlin之异常)