Рассмотрите и зафиксируйте проверки неперехваченного исключения

Выполните один или несколько из этих шагов, пока вы не определите фиксацию для проверки Uncaught exception. Для описания проверки и примеров кода, смотрите Uncaught exception.

Шаг 1: интерпретируйте информацию о проверке

Выберите проверку на панели Results List. На панели Result Details просмотрите дополнительную информацию о проверке.

Сообщение для красной или оранжевой проверки Uncaught exception обычно утверждает одну из этих причин.

СообщениеЧто это означает
Необработанное исключение распространяет к функции основной или точки входа.Исключение выдано и не обработано в catch блок. Исключение выходит к main.
Вызовите к typeName броски во время конструкции параметра "выгоды".Создание catch параметр вызывает конструктора. Конструктор выдает исключение.
Выдайте во время деструктора или удалите.Деструктор выдает исключение.

Шаг 2: определите первопричину проверки

Наиболее распространенная первопричина состоит в том, что исключение распространяет иерархию вызова функции от своего источника до main функция.

В конечном счете traceback сопоставил с проверкой, вы видите источник исключения и одного пути дерево вызова функции к main или другая функция точки входа. Кликните по каждому событию, чтобы перейти к соответствующей точке в исходном коде.

В этом примере исключение выдается в методе initialVector::getValue который называется от main в этой последовательности:

  • main

  • getValueFromVector

  • initialVector::getValue

Список событий показывает эти точки в коде:

  1. Оператор, который выдает исключение.

  2. Возврат из функции, где исключение выдается, в этом случае, initialVector::getValue метод.

  3. Возврат из следующей функции, которую исключение распространяет к, в этом случае, getValueFromVector метод.

  4. main функция.

Используя этот список событий, можно проследить, как Escape исключения и помещают try- catch блокируйтесь, чтобы обработать исключение. Например, можно поместить вызов:

return vectorPtr->getValue(5)
в try- catch блок. В catch блокируйтесь, можно отловить исключение типа error.