Kotlin异常处理
-
概述:
- 潜在异常代码均放在try{}中
- 使用try-catch,只能捕获第一个异常
-
捕获系统异常:打印异常信息
-
代码:
fun main(){ try { var info :String ?= null; println(info !!.length) }catch (e:Exception){ println("打印这个异常 $e") } } -
运行截图:
-
-
捕获自定义异常:参数校验,为空则触发异常
-
代码:
fun main(){ try { var info :String ?= null; checkException(info) }catch (e:Exception){ println("打印这个异常 $e") } } fun checkException(info : String?){ info ?: throw CustomException() } class CustomException : IllegalArgumentException("异常原因:参数为null") -
运行结果:
-
Kotlin 先决条件函数
-
概述:
- 内置手段,不同API对应不同异常
- 只能抛出第一个异常
- 应用场景:自己在编写第三方框架时,节省自定义异常代码编写
-
非空性检测
-
代码一:checkNotNull
fun main(){ var info : String ?= null checkNotNull(info) } -
运行截图一:java.lang.IllegalStateException
-
代码二:requireNotNull
fun main(){ var info : String ?= null requireNotNull(info) } -
运行截图二:java.lang.IllegalArgumentException
-
-
布尔值检测:false--->触发异常
-
代码
fun main(){ var info1 : Boolean = true require(info1) println("info1 正常运行") var info2 : Boolean = false require(info2) println("info2 正常运行") }
-
运行截图:
-