...
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.
...
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
DCL57-CPP | Low | Likely | Medium | P6 | L2 |
Automated Detection
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 | 6.22 |
| V509, V1045 | ||||||||
RuleChecker |
| destructor-without-noexcept delete-without-noexcept | Fully checkedV509 |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...