文章目录
- 一、Kotlin 中的异常处理
- 1、捕获并处理异常
- 2、抛出自定义异常
一、Kotlin 中的异常处理
在 Kotlin 程序中 , 处理异常 的方式有 :
- 抛出默认异常
- 抛出自定义异常
- 捕获并处理异常
1、捕获并处理异常
捕获异常代码示例 : 在下面的代码中 ,
name
变量是可空类型变量 , 其初始值为 null
,
使用 非空断言操作符 !!
调用 变量 成员 , 不会进行 空值检查 ,
如果变量为空 , 则直接抛出 kotlin.KotlinNullPointerException
异常 ;
使用 try .. catch ..
代码块 , 可以捕获并处理异常 ;
import java.lang.Exception
fun main() {
var name: String? = null
// 捕获并处理异常
try {
name!!.count();
} catch (e: Exception) {
println(e)
}
}
执行结果 :
kotlin.KotlinNullPointerException
2、抛出自定义异常
抛出自定义异常代码示例 : 在下面的代码中 ,
声明了自定义 异常类 MyException
, 其继承了 KotlinNullPointerException
空指针异常类 ,
在调用 name
变量成员时 , 先调用 checkNull
函数 ,
检查该变量是否为空 ,
使用 str ?: throw MyException()
代码 , 其中 空合并操作符 判定 str
是否为空 ,
如果为空 , 则抛出 MyException
异常 ;
import java.lang.Exception
fun main() {
var name: String? = null
// 捕获并处理异常
try {
checkNull(name)
name!!.count();
} catch (e: Exception) {
println(e)
}
}
fun checkNull(str: String?) {
str ?: throw MyException()
}
class MyException: KotlinNullPointerException("空指针")
执行结果 :
MyException: 空指针