Kotlin 中的异常处理

319 阅读1分钟

Kotlin异常处理

  • 概述:

    • 潜在异常代码均放在try{}中
    • 使用try-catch,只能捕获第一个异常
  • 捕获系统异常:打印异常信息

    • 代码:

       fun main(){
           try {
               var info :String  ?= null;
               println(info !!.length)
           }catch (e:Exception){
               println("打印这个异常 $e")
           }
       }
      
    • 运行截图:

      image-20220521201448105

  • 捕获自定义异常:参数校验,为空则触发异常

    • 代码:

       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")
      
    • 运行结果:

      图片.png

Kotlin 先决条件函数

  • 概述:

    • 内置手段,不同API对应不同异常
    • 只能抛出第一个异常
    • 应用场景:自己在编写第三方框架时,节省自定义异常代码编写
  • 非空性检测

    • 代码一:checkNotNull

       fun main(){
           var info : String ?= null
           checkNotNull(info)
       }
      
    • 运行截图一:java.lang.IllegalStateException

      图片.png

    • 代码二:requireNotNull

       fun main(){
           var info : String ?= null
           requireNotNull(info)
       }
      
    • 运行截图二:java.lang.IllegalArgumentException

      图片.png

  • 布尔值检测:false--->触发异常

    • 代码

       fun main(){
           var info1 : Boolean = true
           require(info1)
           println("info1 正常运行")
       ​
           var info2 : Boolean = false
           require(info2)
           println("info2 正常运行")
       }
      
    • 运行截图:

      图片.png