Для предотвращения критических ошибок в коде программы необходимо использовать исключения.
Конструкция 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Список возможных типов исключений:
Также запустить исключение можно принудительно в коде с помощью throw.