Оператор throw
Оператор throw выбрасывает исключение, прерывая нормальное выполнение программы. В качестве параметра оператор принимает объект, который должен быть наследником класса Exception или Error. Чаще всего в throw передают экземпляр исключения, созданный через конструктор, например Exception или FormatException. Выброшенное исключение может быть перехвачено с помощью try и catch.
Синтаксис
throw expression
Пример
Давайте выбросим исключение с сообщением и перехватим его:
void main()
{
try {
throw Exception('something went wrong');
} catch (e) {
print(e);
}
}
Результат выполнения кода:
"Exception: something went wrong"
Пример
Давайте выбросим исключение внутри функции и обработаем его в месте вызова:
void checkValue(int value)
{
if (value < 0) {
throw FormatException('value must be positive');
}
print('value is $value');
}
void main()
{
try {
checkValue(-1);
} catch (e) {
print(e);
}
}
Результат выполнения кода:
"FormatException: value must be positive"