РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
453 of 723 menu

Класс TypeError

Класс TypeError представляет собой ошибку, которая возникает, когда операция получает значение неподходящего типа. Например, при попытке выполнить арифметическое действие над строкой или при обращении к методу, которого нет у объекта. Объект класса TypeError обычно выбрасывается средой выполнения автоматически, но его также можно создать вручную через конструктор. В первый параметр конструктора передается сообщение об ошибке, во второй - объект, вызвавший ошибку.

Синтаксис

TypeError([String message, dynamic object])

Пример

Давайте создадим объект класса TypeError вручную и выведем его в консоль:

void main() { TypeError err = TypeError('Type mismatch', 'abcde'); print(err); }

Результат выполнения кода:

"TypeError: Type mismatch: abcde"

Пример

Давайте попробуем присвоить переменной типа int строковое значение и перехватим возникшую ошибку:

void main() { try { dynamic value = 'abcde'; int res = value; print(res); } catch (e) { print(e.runtimeType); print(e); } }

Результат выполнения кода:

"TypeError" "TypeError: type 'String' is not a subtype of type 'int'"

Пример

Давайте вызовем несуществующий метод у объекта и посмотрим, какая ошибка при этом возникнет:

void main() { try { dynamic obj = 12345; obj.someMethod(); } catch (e) { print(e.runtimeType); print(e); } }

Результат выполнения кода:

"NoSuchMethodError" "NoSuchMethodError: Class 'int' has no instance method 'someMethod'."

Смотрите также

  • класс NoSuchMethodError,
    который возникает при вызове несуществующего метода
  • класс Error,
    который является базовым классом для TypeError
  • оператор throw,
    который выбрасывает исключение
  • конструкция catch,
    которая перехватывает исключения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить