Size: a a a

Kotlin Community

2020 December 03

SB

Sergey Barmin in Kotlin Community
вроде умеет, если вы про try {} catch {} catch {}
источник

AO

Alexey Om in Kotlin Community
Я про вот такой способ
try {

} catch (ex: MyException1 | MyException2 ) {
   logger.warn("", ex)
}
источник

GO

GGorAA Official in Kotlin Community
Alexey Om
А по какой причине котлин не умеет multiple catch? В смысле multi-catch
вполне себе может
источник

AN

Alexander Nozik in Kotlin Community
Alexey Om
Я про вот такой способ
try {

} catch (ex: MyException1 | MyException2 ) {
   logger.warn("", ex)
}
Нет, так не умеет и вероятно не будет
источник

AN

Alexander Nozik in Kotlin Community
GGorAA Official
вполне себе может
это не оно
источник

GO

GGorAA Official in Kotlin Community
Alexey Om
Я про вот такой способ
try {

} catch (ex: MyException1 | MyException2 ) {
   logger.warn("", ex)
}
не
источник

AO

Alexey Om in Kotlin Community
Можно в catch when использовать и там через is проверять
источник

AN

Alexander Nozik in Kotlin Community
Alexey Om
Можно в catch when использовать и там через is проверять
да, так можно. по сути разбор по типу исключения является анти-паттерном в котлин
источник

AO

Alexey Om in Kotlin Community
Alexander Nozik
да, так можно. по сути разбор по типу исключения является анти-паттерном в котлин
Ну то есть такой вариант предпочтительнее?
источник

AO

Alexey Om in Kotlin Community
По моему я не правильно понял посыл
источник

AN

Alexander Nozik in Kotlin Community
Alexey Om
Ну то есть такой вариант предпочтительнее?
Нет, без разницы. Смысл в том, что вообще какую-то логику на разборе исключений не стоит делать. Единственное, простите, исключение, которое я знаю, это отлов CancelationException в корутинах
источник

AO

Alexey Om in Kotlin Community
Ясно. Спасибо за столь оперативный ответ!
источник

GO

GGorAA Official in Kotlin Community
👍
источник

AD

Aleksey D. in Kotlin Community
Alexander Nozik
Нет, без разницы. Смысл в том, что вообще какую-то логику на разборе исключений не стоит делать. Единственное, простите, исключение, которое я знаю, это отлов CancelationException в корутинах
почему разбирать исключения плохо? 🙄
источник

AN

Alexander Nozik in Kotlin Community
Aleksey D.
почему разбирать исключения плохо? 🙄
Потому что это логика на исключениях. Это плохо
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Нет, без разницы. Смысл в том, что вообще какую-то логику на разборе исключений не стоит делать. Единственное, простите, исключение, которое я знаю, это отлов CancelationException в корутинах
а почему нельзя кидать эксепшон на сервере, который преобразуется в 400 респонс. очень удобно выходить из функций прямо до кетча прямо до StatusPages
источник

с#

саша сок #KotlinGang... in Kotlin Community
или мне во всех функциях Either возвращать c Error | T
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
а почему нельзя кидать эксепшон на сервере, который преобразуется в 400 респонс. очень удобно выходить из функций прямо до кетча прямо до StatusPages
Потому что экспепшены дико дорогие (генерация стэк трейса) и всегда есть большой риск его потерять
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Потому что экспепшены дико дорогие (генерация стэк трейса) и всегда есть большой риск его потерять
ну так StatusPages от ktor не теряет никогда. а про тектрейс да, но не знают стоит ли из-за этого отказываться от такого удобного инструмента.
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
ну так StatusPages от ktor не теряет никогда. а про тектрейс да, но не знают стоит ли из-за этого отказываться от такого удобного инструмента.
Стоит, я на эти грабли наступил один раз довольно больно. Исключения для исключительных ситуаций, не для передачи результата
источник