Kotlin异常

java异常与kotlin异常处理详解

kotlin中的try是个表达式,是没有checked exception的。。是运行时异常

fun main(args: Array) {
    val a="1"
    val result:Int?=try{
        a.toInt()
    }catch (ex:NumberFormatException){
        null
    }finally {
        println("报错了")
    }
}
  • throw是个表达式,这样我们可以将throw作为Elvis表达式的一部分
  • throw 表达式的类型是一种特殊的类型:Nothing。
  • 在代码中,可以使用Nothing来标记永远不会返回的函数。
fun method(message:String):Nothing{
    throw IllegalArgumentException(message)
}

fun main(args: Array) {
    val str:String?="a"
    val str2=str?:throw IllegalArgumentException("值不能为空")//?: 表示 前面不为空,就赋值前面那个值,否则就抛异常  a
    //如果str=null就抛异常了。
    println(str)
    println("----------")
    val str3=str ?: method("sds")
    println(str3)
    println("----------")
    var a=null
    println(a is Nothing?) //true
    println("----------")
    var s= listOf(null)
    println(s is List) //true
}

你可能感兴趣的:(Kotlin)