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

try { 

} catch (ex: MyException1, MyException2 ) {
    logger.warn("", ex)
}

try { 

} catch (ex: MyException1 | MyException2 ) {
    logger.warn("", ex)
}

结果出现编译错误:Unresolved reference: MyException2.

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

最佳答案

更新: 为以下问题投票 KT-7128如果你想让这个功能登陆 Kotlin。 感谢@Cristan

据此thread目前不支持此功能。

abreslav - JetBrains Team

Not at the moment, but it is on the table

不过,您可以模仿多重捕获:

try {
    // do some work
} catch (ex: Exception) {
    when(ex) {
        is IllegalAccessException, is IndexOutOfBoundsException -> {
            // handle those above
        }
        else -> throw ex
    }
}

https://stackoverflow.com/questions/36760489/

相关文章:

unit-testing - 在 Kotlin 中测试预期的异常

lambda - 传递 lambda 而不是接口(interface)

android - Kotlin: "return@"是什么意思?

android - 如何在 Android 上使用 Kotlin 显示 Toast?

java - Android 动画 Alpha

kotlin - 什么时候应该更喜欢 Kotlin 扩展函数?

spring - 如何在基于 Spring 的强类型语言中正确执行 PATCH - 示例

java - Kotlin 'when' 语句与 Java 'switch'

kotlin - Kotlin 中线程和协程的区别

android - 找不到字段的 setter - 将 Kotlin 与 Room 数据库结合使用