J: Как ПРАВИЛЬНО обрабатывать ошибки в Kotlin и Java? Что я понял за 15 лет программирования - видео HD

J: Как ПРАВИЛЬНО обрабатывать ошибки в Kotlin и Java? Что я понял за 15 лет программирования - видео
00:16:11
Обнаружено блокирование рекламы на сайте

Для существования нашего сайта необходим показ рекламы. Просим отнестись с пониманием и добавить сайт в список исключений вашей программы для блокировки рекламы (AdBlock и другие).

12n.ru 18790 роликов

Как ПРАВИЛЬНО обрабатывать ошибки в Kotlin и Java? Что я понял за 15 лет программирования - видео.

Рассказываем, как удобнее всего обрабатывать исключения и нештатные ситуации в Kotlin и других языках и почему стандартные исключения не всегда лучший вариант.

Ссылки на материалы:

Checked exceptions in Kotlin https://kotlinlang.org/docs/java-to-k...

Either (ArrowKt) https://arrow-kt.io/learn/typed-error...

Railway Oriented Programming https://habr.com/ru/articles/339606/

Either для Java (Vavr) https://docs.vavr.io/#_either

Обработка ошибок в Rust https://doc.rust-lang.org/book/ch09-0...

Result для Python (Returns)https://returns.readthedocs.io/en/lat...

Правило для Detekt https://detekt.dev/docs/rules/potenti...

Тайм-коды для самых нетерпеливых:00:00 Введение00:30 Базовый пример01:41 Способы обработки ошибок03:15 Проверяемые VS Непроверяемые исключения06:26 Код возврата как волшебная пилюля07:20 Больше данных! Как передать инфо об ошибке08:56 Успех — не ошибка, а много ошибок — не успех09:44 Мощь Arrow11:40 Railway Oriented Programming13:27 Альтернатива из стандартной библиотеки Kotlin13:59 Другие языки программирования14:14 Исключения тоже нужны15:31 Лечим забывчивость (и потерянный код возврата)15:55 Заключение

Поваренная книга Дядюшки Боба: howto.stringconcat.ru/cleanar... Телеграмм-канал с кучей полезной информации: t.me/stringconcat

RSS
@kamegatze6568
12:52
+1
Спасибо за видео, реально интересно
@SirDratuti
16:22
+1
А почему бы просто не использовать sealed interface как наследник другого sealed interface'а?
sealed interface PaymentResult
data class Success(...): PaymentResult
sealed interface Error: PaymentResult
data class AccountNotFound(...): Error
и так далее
В таком случае нам не нужно будет при необходимости маппинга ошибки в какой-либо объект делать специфичный кейс для состояния Success, ведь мы просто можем передать ошибку с типом PaymentResult.Error
@lis0x90d
18:16
Scala которая как раз попыталась обединить функционалный и обьектный подход. Очередной виток переизобретения
@voult89
17:24
Подход с Either прикольный, но вот пока столкнулся с такой проблемой, что когда обновляю агрегат, приходится обновлять и его поля. Ну а каждое поле содержит логику обновления у себя, как и валидацию. В итоге метод обновления агрегата состоит из fold или onLeft/onRight.
Читать порой сложно такое. Пока не знаю как сделать красиво.

Что касается необрабатываемых ошибок, то на маленьком проекте лучше использовать их, так как тут сам написал — сам обработал.
Ну и если не чистая архитектура, тогда ошибки можно еще и наследовать от нужного типа (unporcessable, notfound, итд). И в обработчике ошибок ловить по дефолту нужный тип.
@MentorOfMentors
17:31
13:04 опечатка? UserUser
@spacecowboy3000
22:19
Йо это реально крутой канал, а можно плюс ещё каких нибудь серебрянных пуль. Я просто занимаюсь легаси на 8 джаве в тяжёлом интерпрайзе. И уже слабо представляю как выглядит современный продуктовый джава код.

Новости

В Санкт-Петербурге пройдет ежегодная конференция по информационной безопасности «Код ИБ» Компания «Электронные Офисные Системы» выпускает обновление Сервера мобильных решений В «СёрчИнформ КИБ» интегрирован ИИ-модуль для анализа инцидентов ГК «ЭОС» запускает акцию по бесплатной миграции на импортонезависимую версию АИС «МФЦ Дело» Обучение инженеров от МТС и НИУ ВШЭ: новые возможности для студентов

В Санкт-Петербурге пройдет ежегодная конференция по информационной безопасности «Код ИБ»


3 дня назад
В Санкт-Петербурге пройдет ежегодная конференция по информационной безопасности «Код ИБ»
В Санкт-Петербурге пройдет ежегодная конференция по информационной безопасности «Код ИБ»
Компания «Электронные Офисные Системы» выпускает обновление Сервера мобильных решений
Компания «Электронные Офисные Системы» выпускает обновление Сервера мобильных решений
В «СёрчИнформ КИБ» интегрирован ИИ-модуль для анализа инцидентов
В «СёрчИнформ КИБ» интегрирован ИИ-модуль для анализа инцидентов
ГК «ЭОС» запускает акцию по бесплатной миграции на импортонезависимую версию АИС «МФЦ Дело»
ГК «ЭОС» запускает акцию по бесплатной миграции на импортонезависимую версию АИС «МФЦ Дело»
Обучение инженеров от МТС и НИУ ВШЭ: новые возможности для студентов
Обучение инженеров от МТС и НИУ ВШЭ: новые возможности для студентов