Как поймать множество исключений в то же время в Котлине

try { 

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

или

try { 

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

В результате ошибка компиляции: Unresolved reference: MyException2.

Как я могу уловить множество исключений одновременно на Kotlin?

Ответы

Ответ 1

В соответствии с этим thread эта функция не поддерживается в данный момент.

abreslav - Команда JetBrains

Не сейчас, но он находится на столе

Вы можете имитировать многопоточность:

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