Что означает код NTSTATUS 0xC0000025 (STATUS_NONCONTINUABLE_EXCEPTION)?

 
Предыдущий Следующий
STATUS_OBJECT_TYPE_MISMATCH STATUS_INVALID_DISPOSITION

STATUS_NONCONTINUABLE_EXCEPTION

Продолжение после этого исключения запрещено

STATUS_NONCONTINUABLE_EXCEPTION обычно является следствием неверной логики обработчика исключений. Исходный exception record содержит признак, запрещающий продолжение, однако один из обработчиков попытался вернуть управление в обычный поток выполнения. Поэтому этот статус нередко маскирует более раннее первичное исключение.

Сохраните исходный EXCEPTION_RECORD, контекст и стек до того, как дополнительные обработчики изменят картину. Проверьте translation layers и catch-all handlers: они не должны терять флаг noncontinuable или принудительно выбирать continue execution. Исправлять следует первоначальный сбой и контракт обработчика, а не подавлять вторичный статус.

Что проверить

  • Найдите первое исключение в цепочке, а не только вторичный статус.
  • Проверьте флаги исходного EXCEPTION_RECORD.
  • Убедитесь, что обработчики не пытаются продолжить выполнение для noncontinuable exception.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.