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