noexcept function or unexpected exception raised by a throw statementThese defects are related to C++ exception handling. The defects include:
Unhandled exception emitting from a noexcept function
Unexpected exception arising during constructing the argument object of a throw statement
catch statements catching exceptions by value instead of by reference
catch statements hiding subsequent catch statements.
Exception caught by value | catch statement accepts an object by
value |
Exception handler hidden by previous
handler | catch statement is not reached because
of an earlier catch statement for the same exception |
Noexcept function
exits with exception | Functions specified as noexcept,
noexcept(true) or noexcept(<true condition>) exits
with an exception, which causes abnormal termination of program execution, leading to resource
leak and security vulnerability |
Throw argument raises
unexpected exception | The argument expression in a throw statement raises unexpected
exceptions, leading to resource leaks and security vulnerabilities |
The Bug Finder defect checkers are classified into groups such as data flow, concurrency, numerical, and so on.