Unnecessary call to 'Throwable.initCause()'
Reports calls to Throwable.initCause()
where an exception constructor also takes a Throwable cause
argument.
In this case, the initCause()
call can be removed and its argument can be added to the call to the exception's constructor.
Example:
try {
process();
}
catch (RuntimeException ex) {
RuntimeException wrapper = new RuntimeException("Error while processing");
wrapper.initCause(ex); // Unnecessary call to 'Throwable.initCause()'
throw wrapper;
}
A quick-fix is available to pass the cause argument to the constructor. After the quick-fix is applied:
try {
process();
}
catch (RuntimeException ex) {
RuntimeException wrapper = new RuntimeException("Error while processing", ex);
throw wrapper;
}
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.
UnnecessaryInitCause- 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