15 / 37
Как реализовать паттерн Result/Either для обработки ошибок без исключений?
Result (он же Either) — это контейнер, который хранит либо успешное значение (Ok/Right), либо ошибку (Err/Left). Вместо try/catch функция возвращает объект-результат, а вызывающий код явно проверяет, что пришло. Это делает поток ошибок предсказуемым, типизируемым и не позволяет забыть обработать ошибку, потому что ты физически не доберёшься до значения без проверки.