0
点赞
收藏
分享

微信扫一扫

【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )


文章目录

  • ​​一、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

【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )_kotlin


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: 空指针


举报

相关推荐

0 条评论