java異常與kotlin異常處理詳解
kotlin中的try是個表達式,是沒有checked exception的。。是運行時異常
fun main(args: Array<String>) {
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<String>) {
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<Nothing?>) //true
}