...
Noncompliant Code Example (function-try-block)
This noncompliant code example, as well as the following compliant solution, presumes the existence of a Bad
class with a destructor that can throw. Although the class violates this rule, it is presumed that the class cannot be modified to comply with this rule.
...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| destructor-without-noexcept delete-without-noexcept | Fully checked | ||||||
Axivion Bauhaus Suite |
| CertC++-DCL57 | |||||||
CodeSonar |
| LANG.STRUCT.EXCP.CATCH LANG.STRUCT.EXCP.THROW | Use of catch Use of throw | ||||||
Helix QAC |
| C++2045, C++2047, C++4032, C++4631 | |||||||
Klocwork |
| MISRA.DTOR.THROW | |||||||
LDRA tool suite |
| 453 S | Partially implemented | ||||||
Parasoft C/C++test |
| CERT_CPP-DCL57-a | Never allow an exception to be thrown from a destructor, deallocation, and swap | ||||||
Polyspace Bug Finder |
| CERT C++: DCL57-CPP | Checks for class destructors exiting with an exception (rule partially covered) | ||||||
PVS-Studio |
| V509, V1045 | |||||||
RuleChecker |
| destructor-without-noexcept delete-without-noexcept | Fully checked |
...