Inspectopedia Help

'throw' inside 'catch' block which ignores the caught exception

Reports exceptions that are thrown from inside catch blocks but do not "wrap" the caught exception.

When an exception is thrown in response to an exception, wrapping the initial exception prevents losing valuable context information, such as stack frames and line numbers.

Example:

... catch (IOException e) { closeAllConnections(); throw new ConnectException("Connection problem."); // warning: 'throw' inside 'catch' block ignores the caught exception 'e' }

Configure the inspection:

  • Use the Ignore if result of exception method call is used option to indicate whether the inspection should ignore exceptions whose argument is the result of a method call on the original exception, such as getMessage().

  • Use the Ignore if thrown exception cannot wrap an exception option to ignore throw statements that throw exceptions without a constructor that accepts a Throwable cause.

Inspection options

Here you can find the description of settings available for the 'throw' inside 'catch' block which ignores the caught exception inspection, and the reference of their default values.

Ignore if result of exception method call is used

Not selected

Ignore if thrown exception cannot wrap an exception

Not selected

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024