Что нужно знать про Exception, Error и assert во Flutter/Dart?

FlutterJunior+: объясняет типичный сценарий, ограничения и простые ошибкиDart CoreТеорияassertdartdart-coreerror-handlingexceptionsошибки

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

Коротко: Exception описывает ожидаемые ошибки приложения, Error чаще означает программную ошибку, а assert проверяет инварианты в debug.

Ответ:

Где применяется:

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

Пример:

try {
  await api.pay();
}
on ApiException catch (e) {
  showError(e.message);
}
assert(config.baseUrl.isNotEmpty);

Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: ловить все через catch (_) без логирования.

Источники

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