Чем Exception, Error и assert отличается от Result type?
Что хотят услышать интервьюеры:
Отличие от Result type: Exception, Error и assert обычно используют, когда нужна задача из контекста «Ошибки», а Result type применяют в другом уровне абстракции или при другой сложности.
Ответ:
Как выбирать:
- бизнес-ошибки лучше моделировать явно
- assert не работает как runtime-валидация в release
- оцените стоимость поддержки, тестируемость и понятность для команды
Ошибка: выбирать инструмент по привычке, а не по требованиям конкретного flow. Сильный ответ: приведите пример, когда Exception, Error и assert уместен, и пример, когда лучше выбрать Result type.