| Предыдущий | Следующий |
| ERROR_IO_PREEMPTED | E_FDPAIRING_NOCONNECTION |
JSCRIPT_E_CANTEXECUTE
Что означает JSCRIPT_E_CANTEXECUTE
JSCRIPT_E_CANTEXECUTE (0x89020001) — Функцию невозможно выполнить: она была удалена или собрана сборщиком мусора.
Контекст результата 0x89020001 — подсистема «COM/WinRT» и область «контракт вызываемого interface, аргументы и state объекта». Условие «функцию невозможно выполнить: она была удалена или собрана сборщиком мусора» указывает на тему «jscript, cantexecute», а не на общий отказ всего компонента.
Что проверить и как подтвердить исправление
До изменения конфигурации сопоставьте первый отказ с фактическими параметрами операции. Для 0x89020001 с описанием «функцию невозможно выполнить: она была удалена или собрана сборщиком мусора» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Диагностика 0x89020001 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IActiveScript, HRESULT, IActiveScript::Close. Для темы «jscript, cantexecute» при 0x89020001 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Исправляя 0x89020001, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0x89020001 с описанием «функцию невозможно выполнить: она была удалена или собрана сборщиком мусора» должен исчезнуть на исходных данных без обхода штатной проверки.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x89020001, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x89020001: Microsoft Open Specifications: HRESULT values · HRESULT facility extraction · Active Script architecture.
Нужно найти другой код? Найти другой код состояния или ошибки.