Size: a a a

Kotlin Community

2020 April 21

BP

Bogdan Panchenko in Kotlin Community
но  лучше не вызывать функцию которая возращает Result, в Result контексте, выглядит в итоге говняно
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
ну транзакция может кинуть два вида исключений, но еще может оборваться конекшен, не валидные параметры etc. И в разных местах хочется по разному обработать.
Это редкие кейсы, но они есть.
Ну допустим. Так и чем тут поможет Result?
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Ну допустим. Так и чем тут поможет Result?
частичная обработка ошибок на каком-то этапе. Это скоерй будет не основная йункция а делегируящая
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Ну допустим. Так и чем тут поможет Result?
Когда ты хочешь возращать значения, но падать с исключениям никак нельзя, например нужно ответ на  http запрос
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
частичная обработка ошибок на каком-то этапе. Это скоерй будет не основная йункция а делегируящая
И как это будет выглядеть? Не проще ли в try-catch обернуть?
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
Когда ты хочешь возращать значения, но падать с исключениям никак нельзя, например нужно ответ на  http запрос
Обернуть вызов в runCatching и всё. Вопрос в том, зачем возвращать Result.
источник

MR

Max Rovkin in Kotlin Community
Alexander Nozik
Мысль. Если это не закрыли, то при вызове cancel раньше можно было указать причину, чтобы она прокидывалась в логи. Попробуйте указать разные причины в разных отменах
это помогло, но встаёет другой вопрос: почему при вызове job.cancelChildren всё крашится?
источник

BV

Boris Vanin in Kotlin Community
Alexander Nozik
Я до сих пор не сильно понимаю, как он работает.
Это этого ворнинга я думал, что понимаю
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
И как это будет выглядеть? Не проще ли в try-catch обернуть?
это равнозначно но зачем мне обработка ошибок в запросе ? Мне проще хранимку тогда написать 😏
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Обернуть вызов в runCatching и всё. Вопрос в том, зачем возвращать Result.
ну мне в пару кейсах пригодилось
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
это равнозначно но зачем мне обработка ошибок в запросе ? Мне проще хранимку тогда написать 😏
Так, ладно, видимо, дальнейшее обсуждение бесполезно 🙈
источник

AN

Alexander Nozik in Kotlin Community
Max Rovkin
это помогло, но встаёет другой вопрос: почему при вызове job.cancelChildren всё крашится?
Пути андроида неисповедимы. Где-то это исключение перехвативается.
источник

AN

Alexander Nozik in Kotlin Community
Max Rovkin
это помогло, но встаёет другой вопрос: почему при вызове job.cancelChildren всё крашится?
Ксати судя по тому, что стэк трейса нет, оно перехватывается сразу после отмены. Посмотрите, кто работает со скоупом непосредственно того, что отменяется
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Так, ладно, видимо, дальнейшее обсуждение бесполезно 🙈
(это шутка была, но мне эти try-cathy + query хранимки и напоминают, только уже в коде сервера)
Ну и я не говорю что нужно везде пихать. Нужно 1000000 раз подумать переде тем как пихать Result в API </thread>
источник

VP

Vladimir Petrakovich in Kotlin Community
Roman Elizarov
Раз нету стек-трейса то это какой-то баг в андроид-райнтайме или где-то есть код, который поймал исключение и вывел его в лог, но забыл записать стек-трейс.
Но ведь у этого исключения отключен стек-трейс не в дебаге
источник

RE

Roman Elizarov in Kotlin Community
Точно. Я про это совсем забыл!
источник

RE

Roman Elizarov in Kotlin Community
Надо поставить системное свойство kotlinx.coroutines.debug в значение on (cc @rovkin )
источник

MR

Max Rovkin in Kotlin Community
Roman Elizarov
Надо поставить системное свойство kotlinx.coroutines.debug в значение on (cc @rovkin )
а я для всех отмен прописал кастомное исключение, вроде появился стектрейс
источник

BV

Boris Vanin in Kotlin Community
Alexander Nozik
Я до сих пор не сильно понимаю, как он работает.
Вынес в функцию и ворнинг пропал 🤔
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Вынес в функцию и ворнинг пропал 🤔
Штирлиц закрыл окно, дуло исчезло
источник