在 Kotlin 中如何同时捕获多个异常?


异常处理是任何编程语言的一个重要特性。它限制了我们的程序在运行时生成不正确的输出。Kotlin 不支持同时抛出多个异常,但我们可以使用 Kotlin 库提供的其他一些函数来实现此功能。

示例 – 抛出多个异常

在这个示例中,我们尝试在运行时生成一个算术异常,并且我们将尝试在catch 块中捕获相同的异常,并进行其他不同的异常检查。

fun main(args: Array<String>) {
   val item=0
   var result=0
   try {
      result=item/0 // Exception: Division by Zero
   } catch (ex: Exception) {
      when(ex) {
         // inlcude multiple exceptions here
         is IllegalAccessException, is IndexOutOfBoundsException -> {
            println(ex)
         }
         is ArithmeticException ->{
            println(ex)
         }
         else-> throw ex
      }
   }
}

输出

在此,我们在 catch 块中抛出多个异常。它将产生以下输出 -

java.lang.ArithmeticException: / by zero

更新于:16-Mar-2022

2K+ 浏览

开启你的 职业生涯

通过完成课程来获得认证

开始使用
广告