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;
}
New in 2016.1