Size: a a a

Kotlin Community

2020 June 10

VP

Vladimir Petrakovich in Kotlin Community
Но я больше про исключения
источник

QH

Quantum Harmonizer in Kotlin Community
в расте все языковые фичи — прибитые гвоздями к языку трейты. В котлине в среднем другой подход
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
Просто там чётко разделили: паники — для ошибок программирования, резалты и опшеналы — для обработки успеха-неуспеха.
Ну да, и сахарком присыпали.
Но при всей безопасности, я подозреваю, что там проигнорировать (забыть обработать) ошибку IO проще.
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Ну да, и сахарком присыпали.
Но при всей безопасности, я подозреваю, что там проигнорировать (забыть обработать) ошибку IO проще.
Ошибку IO ты либо .unwrap()'ом превращаешь в панику, либо вопросиком перебрасываешь наверх, либо маппишь, фолдишь и т. п.
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
Ошибку IO ты либо .unwrap()'ом превращаешь в панику, либо вопросиком перебрасываешь наверх, либо маппишь, фолдишь и т. п.
Либо... ничего не делаешь, так? 😏
источник

VP

Vladimir Petrakovich in Kotlin Community
Исключение ты либо ловишь, либо оно сразу вылетает выше
источник

AS

Andrei Shikov in Kotlin Community
Vladimir Petrakovich
О, точно, надо будет это вспомнить, когда кто-то будет заявлять, что в котлине nullability прибили гвоздями в язык
А кстати вру, написано, что можно вопросик перенести на свои типы через std::ops::Try
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Либо... ничего не делаешь, так? 😏
ну да, и не получаешь результат операции вовсе
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
ну да, и не получаешь результат операции вовсе
Так если результат - сайд-эффект, то он и не нужен
источник

QH

Quantum Harmonizer in Kotlin Community
да, в этом частном случае всё заигрывает новыми красками)
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
Result вообще ни разу не замена Either, там типобезопасности ноль. Как вы будете обрабатывать Throwable?
Смотреть что за тип
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
Смотреть что за тип
is this type safety?
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
is this type safety?
Нет. Но это удобней чем лесенка
источник

BP

Bogdan Panchenko in Kotlin Community
Если мне нужны разные действия для разных ошибок я sealed class заведу
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
Если мне нужны разные действия для разных ошибок я sealed class заведу
О том и речь, Result не подходит
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
О том и речь, Result не подходит
? А если не важно то резулт
источник

BP

Bogdan Panchenko in Kotlin Community
Я наоборот в Etniher не вижу особого смысла, меня всегда бесила лесенка
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
Я наоборот в Etniher не вижу особого смысла, меня всегда бесила лесенка
А что за лесенка?
источник

BP

Bogdan Panchenko in Kotlin Community
Vladimir Petrakovich
А что за лесенка?
Распаковка Etniher8 (условно, после 3 уже адок)
источник

VP

Vladimir Petrakovich in Kotlin Community
Bogdan Panchenko
Распаковка Etniher8 (условно, после 3 уже адок)
Предлагаю не рассматиривать Either3-8, это маргинальщина.
Either<MyError, Value>, где MyError - sealed class с разными ошибочными ситуациями, мне кажется более подходящим.
источник