Чем Exception, Error и assert отличается от Result type?

FlutterMiddle: уверенно применяет в рабочем проекте, видит риски и тестируемостьDart CoreТеорияassertdartdart-coreerror-handlingexceptionsошибки

Что хотят услышать интервьюеры:

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

Ответ:

Как выбирать:

  • бизнес-ошибки лучше моделировать явно
  • assert не работает как runtime-валидация в release
  • оцените стоимость поддержки, тестируемость и понятность для команды

Ошибка: выбирать инструмент по привычке, а не по требованиям конкретного flow. Сильный ответ: приведите пример, когда Exception, Error и assert уместен, и пример, когда лучше выбрать Result type.

Источники

Похожие вопросы