Exception propagates uncaught to the main or another entry-point
function
This check looks for the following issues:
An uncaught exception propagates to the main or another
entry-point function.
An exception is thrown in the constructor of a global variable and not caught.
An exception is thrown in a destructor call or delete
expression.
An exception is thrown before a previous throw expression is handled by a
catch statement, for instance, when constructing a
catch statement parameters.
A noexcept specification is violated. For instance, a function
declared with noexcept(true) is not supposed to throw any exceptions
but an exception is thrown in the function body.
In these situations, according to the C++ standard, the
std::terminate function is called and can cause unexpected
results.
Note that the Uncaught exception check on functions from the Standard Template Library is green, even though Polyspace stubs these functions and does not check if a function throws an exception.
| Group: C++ |
| Language: C++ |
| Acronym: EXC |