Inspectopedia Help

Assignment to 'catch' block parameter

Reports assignments to, catch block parameters.

Changing a catch block parameter is very confusing and should be discouraged.

The quick-fix adds a declaration of a new variable.

Example:

void processFile(String fileName) throws Exception { try { doProcessFile(fileName); } catch(Exception ex) { if (ex instanceof UncheckedIOException) { // Warning: catch block parameter reassigned ex = ((UncheckedIOException) ex).getCause(); } throw ex; } }
void processFile(String fileName) throws Exception { try { doProcessFile(fileName); } catch(Exception ex) { Exception unwrapped = ex; if (unwrapped instanceof UncheckedIOException) { unwrapped = ((UncheckedIOException) unwrapped).getCause(); } throw unwrapped; } }

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.14841

Last modified: 12 March 2024