Parasoft C/C++test | | CERT_CPP-ERR50-a CERT_CPP-ERR50-b CERT_CPP-ERR50-c CERT_CPP-ERR50-d CERT_CPP-ERR50-e CERT_CPP-ERR50-f CERT_CPP-ERR50-g CERT_CPP-ERR50-h CERT_CPP-ERR50-i CERT_CPP-ERR50-j CERT_CPP-ERR50-k CERT_CPP-ERR50-l CERT_CPP-ERR50-m
| The execution of a function registered with 'std::atexit()' or 'std::at_quick_exit()' should not exit via an exception Never allow an exception to be thrown from a destructor, deallocation, and swap Do not throw from within destructor There should be at least one exception handler to catch all otherwise unhandled exceptions An empty throw (throw;) shall only be used in the compound-statement of a catch handler Exceptions shall be raised only after start-up and before termination of the program Each exception explicitly thrown in the code shall have a handler of a compatible type in all call paths that could lead to that point Where a function's declaration includes an exception-specification, the function shall only be capable of throwing exceptions of the indicated type(s) Function called in global or namespace scope shall not throw unhandled exceptions Always catch exceptions Properly define exit handlers The library functions 'abort()', 'quick_exit()' and '_Exit()' from 'cstdlib' library shall not be used Avoid throwing exceptions from functions that are declared not to throw |