Класс Exception
Класс Exception представляет собой базовый класс
для всех исключений в языке Dart. В отличие от класса
Error, который предназначен для ошибок программирования,
Exception используется для ситуаций, которые программа
может и должна обрабатывать. Класс Exception имеет
конструктор, принимающий необязательное сообщение об ошибке,
которое можно получить через свойство message.
Исключения можно выбрасывать с помощью ключевого слова
throw и перехватывать с помощью try,
catch и on.
Синтаксис
Exception([message])
Пример
Давайте создадим собственное исключение и выбросим его
с помощью ключевого слова throw:
void main()
{
try
{
throw Exception('Something went wrong');
}
catch (e)
{
print(e);
}
}
Результат выполнения кода:
"Exception: Something went wrong"
Пример
Давайте перехватим исключение и выведем только его
сообщение через свойство message:
void main()
{
try
{
throw Exception('Invalid value');
}
on Exception catch (e)
{
print(e.message);
}
}
Результат выполнения кода:
"Invalid value"
Пример
Давайте создадим собственный класс исключения,
унаследованный от Exception, и выбросим его:
class MyException implements Exception
{
String message;
MyException(this.message);
@override
String toString() => 'MyException: $message';
}
void main()
{
try
{
throw MyException('Custom error');
}
catch (e)
{
print(e);
}
}
Результат выполнения кода:
"MyException: Custom error"