throw
statement whose exceptions are always
caught by a containing try
statement.
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.