org.sonar.l10n.java.rules.squid.S1181.html Maven / Gradle / Ivy
Throwable
is the superclass of all errors and exceptions in Java.
Error
is the superclass of all errors, which are not meant to be caught by applications.
Catching either Throwable
or Error
will also catch OutOfMemoryError
and InternalError
, from which an application should not attempt to recover.
Noncompliant Code Example
try { /* ... */ } catch (Throwable t) { /* ... */ }
try { /* ... */ } catch (Error e) { /* ... */ }
Compliant Solution
try { /* ... */ } catch (RuntimeException e) { /* ... */ }
try { /* ... */ } catch (MyException e) { /* ... */ }
See
- MITRE, CWE-396 - Declaration of Catch for Generic Exception
- CERT, ERR07-J - Do not throw RuntimeException, Exception, or Throwable
© 2015 - 2025 Weber Informatics LLC | Privacy Policy