exponenta event banner

C++ Особые дефекты

Дефекты, связанные с исключениями C++ и их обработкой, такие как необработанное исключение в noexcept функция или непредвиденное исключение, вызванное throw заявление

Эти дефекты связаны с обработкой исключений C++. Дефекты включают в себя:

  • Необработанное исключение из noexcept функция

  • Непредвиденное исключение, возникающее при построении объекта аргумента throw заявление

  • catch инструкции, фиксирующие исключения по значению, а не по ссылке

  • catch операторы, скрывающие последующие catch заявления.

Результаты Polyspace

Exception caught by valuecatch оператор принимает объект по значению
Exception handler hidden by previous handlercatch оператор не достигнут из-за более ранней catch оператор для того же исключения
Noexcept function exits with exceptionФункции, указанные как noexcept, noexcept(true) или noexcept(<true condition>) выход с исключением, которое приводит к аварийному завершению выполнения программы, что приводит к утечке ресурсов и уязвимости безопасности
Throw argument raises unexpected exceptionВыражение аргумента в throw вызывает неожиданные исключения, приводящие к утечкам ресурсов и уязвимостям безопасности

Темы

Группы дефектов для поиска ошибок

Проверки дефектов Bug Finder подразделяются на такие группы, как поток данных, параллелизм, числовые и т. д.