UnusedCatchParameterShouldBeUnnamed
Since Checkstyle 10.18.0
Description
Ensures that catch parameters that are not used are declared as an unnamed variable.
Rationale:
- Improves code readability by clearly indicating which parameters are unused.
-
Follows Java conventions for denoting unused parameters with an
underscore (
_
).
See the Java Language Specification for more information about unnamed variables.
Attention: This check should be activated only on source code that is compiled by jdk21 or higher; unnamed catch parameters came out as the first preview in Java 21.
Examples
To configure the check:
<module name="Checker">
<module name="TreeWalker">
<module name="UnusedCatchParameterShouldBeUnnamed"/>
</module>
</module>
Example:
class Example1 {
void test() {
try {
int x = 1 / 0;
// violation below, 'Unused catch parameter 'exception' should be unnamed'
} catch (Exception exception) {
System.out.println("infinity");
}
try {
int x = 1 / 0;
// ok below, 'declared as unnamed parameter'
} catch (Exception _) {
System.out.println("infinity");
}
try {
int x = 1 / 0;
// ok below, ''exception' is used'
} catch (Exception exception) {
System.out.println("Got Exception - " + exception.getMessage());
}
}
}
Example of Usage
Violation Messages
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
Package
com.puppycrawl.tools.checkstyle.checks.coding