@Throws注解在Kotlin中


Kotlin中的异常概念与其在Java中的非常相似。Kotlin中的所有异常都是Throwable类的后代。@Throws注解表示当编译为JVM方法时,函数应该声明哪些异常。

示例 - 使用方法抛出异常

此示例中,我们将创建一个场景,其中我们将生成逻辑算术异常,但我们将尝试使用@throws注解和函数调用抛出不同的异常。

import java.io.*
import kotlin.jvm.Throws

fun main(args: Array<String>) {
   val item=0
   var result=0
   try {
      result=item/0 // Division by Zero Exception
   } catch (ex: Exception) {

      // Although it is Arithmetic exception,
      // we will throw IOException using function call
      ex().throwJavaChecked()
   }
}
class ex{
   @Throws(IOException::class)
   fun throwJavaChecked() {
      throw IOException()
   }
}

输出

执行后,它将生成以下异常 −

Exception in thread "main" java.io.IOException
   at ex.throwJavaChecked(main.kt:20)
   at MainKt.main(main.kt:13)

更新于: 2022-3-16

2K+ 次浏览

开启 职业生涯

完成课程,获得认证

开始
广告