Size: a a a

Kotlin Community

2020 April 21

MR

Max Rovkin in Kotlin Community
если добавить
catch (e:CancellationException){
   throw e
}
то все начинает работать нормально, так что такой вариант отпадает
источник

AN

Alexander Nozik in Kotlin Community
Max Rovkin
если добавить
catch (e:CancellationException){
   throw e
}
то все начинает работать нормально, так что такой вариант отпадает
Ну есть шанс что не везде отловили. Дальше надо смотреть, может есть какая-то фигня андроид-специфичная
источник

MR

Max Rovkin in Kotlin Community
Alexander Nozik
Ну есть шанс что не везде отловили. Дальше надо смотреть, может есть какая-то фигня андроид-специфичная
я поиском прошел по проекту, так что везде
источник

D

Danil Yudov in Kotlin Community
я ведь правильно помню, что kotlin.Result с 1.4 можно будет возвращать из функций? т.е. в новом проекте относительно спокойно можно уже завязаться на нём, вместо сторонних решений или своих костылей. а как-то отрубить его подчеркивание и ошибку в IDE можно? аргумент компилятору добавил, код компилится успешно, а вот ошибка в эдиторе не пропала..
источник

I

Igor in Kotlin Community
А зачем?
источник

D

Danil Yudov in Kotlin Community
зачем что? избавляться от мозолящей глаза ошибки в редакторе?
источник

I

Igor in Kotlin Community
Зачем юзать kotlin.Result
источник

D

Danil Yudov in Kotlin Community
очевидно, чтоб не юзать свой аналог, а юзать то, что уже есть в stdlib 🤷‍♂
источник

D

Danil Yudov in Kotlin Community
я, конечно, могу скопировать своё из любого проекта, но зачем.
"перфоманс" за счёт инлайна класса я повышать не собираюсь, не те масштабы, хотя чуть и приятно если на один объект меньше будет аллоцироваться.
источник

I

Igor in Kotlin Community
Но Result же очень ограничен, там нельзя тип ошибки выставить
источник

D

Danil Yudov in Kotlin Community
Igor
Но Result же очень ограничен, там нельзя тип ошибки выставить
меня в принципе устраивает это, апи такое, что всё равно придётся тип ошибки в 95% случаев выставлять как Exception
источник

VP

Vladimir Petrakovich in Kotlin Community
А что если просто выбрасывать эксепшон, а не возвращать внутри Result? 🤔
источник

I

Igor in Kotlin Community
Это и хотел предложить.
Result то больше для кейсов, когда нужно много задач запускать и сохранять информацию о всех ошибках,
а не как замена java-exception.
источник

D

Danil Yudov in Kotlin Community
на try-catch свои функции не навесишь. да и просто так повелось, что стараюсь избегать выбрасывания ошибок в котлине 😒
источник

VP

Vladimir Petrakovich in Kotlin Community
Danil Yudov
на try-catch свои функции не навесишь. да и просто так повелось, что стараюсь избегать выбрасывания ошибок в котлине 😒
Но ведь возвращать Result с исключением внутри - это практически то же самое. Только исключение ещё бонусом может пролететь мимо Result.
Обрабатывать ошибки с помощью Result, я думаю, может быть удобно, но зачем его возвращать - не очень понимаю.
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Но ведь возвращать Result с исключением внутри - это практически то же самое. Только исключение ещё бонусом может пролететь мимо Result.
Обрабатывать ошибки с помощью Result, я думаю, может быть удобно, но зачем его возвращать - не очень понимаю.
Ну за исключение, пролетевшее мимо резалта, надо калёными прутьями наказывать, очевидно.
источник

QH

Quantum Harmonizer in Kotlin Community
Andrew Mikhaylov
Ну за исключение, пролетевшее мимо резалта, надо калёными прутьями наказывать, очевидно.
Ну просто Result ничего не говорит о том, какое в нём исключение. Получается уже как бы два разных catch
источник

D

Danil Yudov in Kotlin Community
окей, видимо ответа на вопрос никто не знает) ну и правда, нетипизированные ошибки могут потом аукнуться, если вдруг захочется или понадобится, убедили, скопирую своё.. в очередной раз
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
Ну за исключение, пролетевшее мимо резалта, надо калёными прутьями наказывать, очевидно.
Тогда надо за любой RuntimeException наказывать, ибо оно может вылететь откуда угодно, в т.ч. из кода, который оперирует Result, если там окажется баг
источник

QH

Quantum Harmonizer in Kotlin Community
ну смысл result в том, что он несёт в себе checked exception как раз
источник