1. ホーム
  2. kotlin

[解決済み] Kotlinで多くの例外を同時にキャッチするには?

2022-07-30 14:52:08

質問

try { 

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

または

try { 

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

その結果、コンパイルエラーになります。 Unresolved reference: MyException2 .

Kotlinで多くの例外を同時にキャッチするには?

どのように解決するのですか?

更新しました。 次の問題に投票してください。 KT-7128 は、この機能をKotlinに搭載してほしいなら ありがとう @Cristan

これによると スレッド によると、この機能は現時点ではサポートされていません。

<ブロッククオート

abreslav - JetBrains チーム

今のところありませんが、テーブルの上にあります。

マルチキャッチの真似はできるけど。

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