ProcessCanceledExceptions handled in an incorrect way.
ProcessCanceledException and its inheritors must not be caught, swallowed, logged, or handled in any way.
Instead, it must be rethrown so that the infrastructure can handle it correctly.
Inspection reports both explicit ProcessCanceledException or its inheritors catching,
as well as catching RuntimeException, Exception and Throwable covering ProcessCanceledException.
Example:
// bad:
try {
// ...
} catch (ProcessCanceledException e) { // exception should not be swallowed
}
// bad:
try {
// ...
} catch (ProcessCanceledException e) {
LOG.error("Error occurred", e); // exception should not be logged
throw e;
}
// good:
try {
// ...
} catch (ProcessCanceledException e) {
// additional actions
throw e;
}
New in 2023.2