Class IllegalThrowsCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public final class IllegalThrowsCheck
    extends AbstractCheck

    Checks that specified types are not declared to be thrown. Declaring that a method throws java.lang.Error or java.lang.RuntimeException is almost never acceptable.

    • Property ignoreOverriddenMethods - Allow to ignore checking overridden methods (marked with Override or java.lang.Override annotation). Type is boolean. Default value is true.
    • Property ignoredMethodNames - Specify names of methods to ignore. Type is java.lang.String[]. Default value is finalize.
    • Property illegalClassNames - Specify throw class names to reject. Type is java.lang.String[]. Default value is Error, RuntimeException, Throwable, java.lang.Error, java.lang.RuntimeException, java.lang.Throwable.

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Violation Message Keys:

    • illegal.throw
    Since:
    4.0
    • Method Detail

      • setIllegalClassNames

        public void setIllegalClassNames​(String... classNames)
        Setter to specify throw class names to reject.
        Parameters:
        classNames - array of illegal exception classes
        Since:
        4.0
      • getAcceptableTokens

        public int[] getAcceptableTokens()
        Description copied from class: AbstractCheck
        The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.
        Specified by:
        getAcceptableTokens in class AbstractCheck
        Returns:
        the token set this check is designed for.
        See Also:
        TokenTypes
      • isIgnorableMethod

        private boolean isIgnorableMethod​(DetailAST methodDef)
        Checks if current method is ignorable due to Check's properties.
        Parameters:
        methodDef - METHOD_DEF
        Returns:
        true if method is ignorable.
      • shouldIgnoreMethod

        private boolean shouldIgnoreMethod​(String name)
        Check if the method is specified in the ignore method list.
        Parameters:
        name - the name to check
        Returns:
        whether the method with the passed name should be ignored
      • setIgnoredMethodNames

        public void setIgnoredMethodNames​(String... methodNames)
        Setter to specify names of methods to ignore.
        Parameters:
        methodNames - array of ignored method names
        Since:
        5.4
      • setIgnoreOverriddenMethods

        public void setIgnoreOverriddenMethods​(boolean ignoreOverriddenMethods)
        Setter to allow to ignore checking overridden methods (marked with Override or java.lang.Override annotation).
        Parameters:
        ignoreOverriddenMethods - Check's property.
        Since:
        6.4