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;
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023