tidy - hicpp-exception-baseclass — Extra Clang Tools 22.0.0git documentation (original) (raw)

hicpp-exception-baseclass

Ensure that every value that in a throw expression is an instance ofstd::exception.

This enforces rule 15.1of the High Integrity C++ Coding Standard.

class custom_exception {};

void throwing() noexcept(false) { // Problematic throw expressions. throw int(42); throw custom_exception(); }

class mathematical_error : public std::exception {};

void throwing2() noexcept(false) { // These kind of throws are ok. throw mathematical_error(); throw std::runtime_error(); throw std::exception(); }