Size: a a a

Kotlin Community

2020 April 17

MR

Max Rovkin in Kotlin Community
не, ну такого у меня вроде нет 😄
источник

VP

Vladimir Petrakovich in Kotlin Community
Это лишь пример. Вылет исключения в дочерней корутине приведёт к тому же эффекту.
источник

MR

Max Rovkin in Kotlin Community
а есть способ внятный стектрейс получить? кроме того, что я написал - больше нет ничего
источник

VP

Vladimir Petrakovich in Kotlin Community
С этим беда. Вполне возможно, что нет.
источник

MR

Max Rovkin in Kotlin Community
отстой
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Легко, например:
coroutineScope {
   cancel()
}
А почему это оно такое исключение выдаст?
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
А почему это оно такое исключение выдаст?
Ну как почему - потому что скоуп отменён 🤷‍♂️
Что он возвращать-то будет
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Ну как почему - потому что скоуп отменён 🤷‍♂️
Что он возвращать-то будет
Так оно отловится вышестоящим скоупом.
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
Так оно отловится вышестоящим скоупом.
В каком плане вышестоящим? Он сам по себе
источник

AN

Alexander Nozik in Kotlin Community
Это только если глобальному скоупу где-то по ошибке отмену кинуть
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
В каком плане вышестоящим? Он сам по себе
без контекста он не запустится. Откуда он контекст схватил?
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
без контекста он не запустится. Откуда он контекст схватил?
Ну да, как-то надо в suspend контекст попасть.
Но не факт, что это исключение кто-то поймает.
источник

VP

Vladimir Petrakovich in Kotlin Community
Точнее кто-то поймает, запишет в лог и завершит приложение
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Ну да, как-то надо в suspend контекст попасть.
Но не факт, что это исключение кто-то поймает.
Факт. как раз скоуп это гарантирует. Единственное исключение - это если вы его руками перехватили и куда-то мимо скоупа переправили
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Точнее кто-то поймает, запишет в лог и завершит приложение
во, я по-этому и предложил везде ручной отлов проверить
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
во, я по-этому и предложил везде ручной отлов проверить
Так там похоже дефолтный обработчик
источник

AN

Alexander Nozik in Kotlin Community
сейчас проверю, что будет если в глобальном это сделать
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Так там похоже дефолтный обработчик
🤷‍♂️
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
сейчас проверю, что будет если в глобальном это сделать
В обычной JVM - вывод в stderr, как при смерти потока
источник

VP

Vladimir Petrakovich in Kotlin Community
На ведре - крэш (что так-то надёжнее)
источник