throw
statements whose exceptions are always
caught by containing try
statements.
Using throw
statements as a "goto" to change the local flow of control is confusing and results in poor performance.
Example:
try {
if (!Files.isDirectory(PROJECTS)) {
throw new IllegalStateException("Directory not found."); // warning: 'throw' caught by containing 'try' statement
}
...
} catch (Exception e) {
LOG.error("run failed");
}
Use the Ignore rethrown exceptions option to ignore exceptions that are rethrown.