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

Класс NoSuchMethodError

Класс NoSuchMethodError представляет собой ошибку, которая возникает в момент выполнения программы, когда происходит попытка вызвать метод, которого не существует у объекта, или обратиться к несуществующему свойству. Данная ошибка относится к категории Error, а не Exception, поскольку свидетельствует о программной ошибке в коде. Обычно эта ошибка выбрасывается средой выполнения Dart автоматически, когда статическая проверка типов не смогла выявить проблему (например, при работе с динамическими типами или с объектами, помеченными как dynamic). В первом параметре конструктор класса принимает описание ошибки, во второй - имя отсутствующего метода, в третий - объект, у которого вызывался метод.

Синтаксис

NoSuchMethodError(String message, String memberName, Object? receiver)

Пример

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

void main() { dynamic obj = 5; obj.unknownMethod(); }

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

Uncaught NoSuchMethodError: Class 'int' has no instance method 'unknownMethod'.

Пример

Давайте перехватим ошибку NoSuchMethodError с помощью try и catch и выведем информацию о ней:

void main() { try { dynamic obj = 'abcde'; obj.missingMethod(); } catch (e) { print(e); } }

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

"NoSuchMethodError: Class 'String' has no instance method 'missingMethod'."

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

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