1/Путь к первому мобильному приложению. Часть 1.7 - Изучаем язык Dart: Исключения

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

Конструкция try...on...catch...finally идеально подходит для этого.

Если при выполнении кода в try возникает ошибка - выполняется часть on...catch по подходящему условию исключения, вне зависимости от того было ли найдено нужное условие и была ли в принципе ошибка в try следом выполняется finally

double errorDouble;
try {
  errorDouble = 2 / 0;
} catch (e) {
  print('Error: $e');
} finally {
  print ( 'done' );
}
// Error: IntegerDivisionByZeroException
// done

Список возможных типов исключений:

  1. DeferredLoadException
  2. FormatException
  3. IntegerDivisionByZeroException
  4. IOException
  5. FileSystemException
  6. HttpException
  7. ProcessException
  8. SignalException
  9. SocketException
  10. StdinException
  11. StdoutException
  12. TlsException
  13. WebSocketException
  14. IsolateSpawnException
  15. TimeoutException

Также запустить исключение можно принудительно в коде с помощью throw.