Исключение распространяет непойманный к main
или другой функции точки входа
Эта проверка ищет следующие проблемы:
Неперехваченное исключение распространяет к main
или другой функции точки входа.
Исключение выдано в конструкторе глобальной переменной и не отловлено.
Исключение выдается в вызове деструктора или выражении delete
.
Исключение выдается, прежде чем предыдущее выражение отсеивания обработано оператором catch
, например, при построении catch
параметры операторов.
Спецификация noexcept
нарушена. Например, функция, объявленная с noexcept(true)
, как предполагается, не выдает исключений, но исключение выдается в теле функции.
Тип данных исключения, которое на самом деле выдается, не находится в списке типов исключительной ситуации, которые функция, как объявляют, выдает.
В этих ситуациях, согласно стандарту C++, функция std::terminate
вызвана и может вызвать неожиданные результаты.
Uncaught exception начинает работу, функции от Стандартной библиотеки шаблонов, такие как operator new
является зеленым, даже при том, что Polyspace блокирует эти функции и не проверяет, выдает ли функция исключение. Чтобы предотвратить блокирование, используйте опцию No STL stubs (-no-stl-stubs)
.
Рассмотрите и зафиксируйте проверки неперехваченного исключения
Группа: C++ |
Язык: C++ |
Акроним: EXC |