Выполните один или несколько из следующих шагов до тех пор, пока вы не определите исправление для проверки Uncaught exception. Для получения описания примеров проверки и кода смотрите Uncaught exception
.
Выберите проверку на панели Results List. На панели Result Details просмотрите дополнительные сведения о проверке.
Сообщение для проверки красного или оранжевого Uncaught exception обычно указывает на одну из этих причин.
Сообщение | Что это означает |
---|---|
Необработанное исключение переходит к основной функции или функции точки входа. | Исключение выдается и не обрабатывается в catch блок. Исключение покидает main . |
Вызов typeName выдает во время конструкции параметра «catch». | Создание catch параметр вызывает конструктор. Конструктор выдает исключение. |
Выдать во время деструктора или удалить. | Деструктор выдает исключение. |
Наиболее распространенной первопричиной является то, что исключение распространяет иерархию вызова функции от ее источника к main
функция.
В отслеживании событий, связанном с проверкой, отображается источник исключения и один путь вверх по дереву вызова функции к main
или другая функция точки входа. Щелкните каждое событие, чтобы перейти к соответствующей точке в исходном коде.
В этом примере исключение выдается в методе initialVector::getValue
который вызывается из main
в этой последовательности:
main
getValueFromVector
initialVector::getValue
Список событий показывает эти точки в коде:
Оператор, выдающий исключение.
Возврат от функции, где выдается исключение, в этом случае initialVector::getValue
способ.
Возврат от следующей функции, которую исключение распространяет на, в этом случае, getValueFromVector
способ.
The main
функция.
Используя этот список событий, можно проследить выход исключения и разместить try
- catch
блок для обработки исключения. Например, вы можете выполнить вызов:
return vectorPtr->getValue(5)
try
- catch
блок. В catch
блок, можно поймать исключение типа error
.