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;
}
}
After the quick-fix is applied:
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;
}
}
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
AssignmentToCatchBlockParameter- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Java, 242.22892 |
Last modified: 11 September 2024