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
  • Field Details

  • Constructor Details

  • Method Details

    • setIllegalClassNames

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

      public int[] getDefaultTokens()
      Description copied from class: AbstractCheck
      Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.
      Specified by:
      getDefaultTokens in class AbstractCheck
      Returns:
      the default tokens
      See Also:
    • getRequiredTokens

      public int[] getRequiredTokens()
      Description copied from class: AbstractCheck
      The tokens that this check must be registered for.
      Specified by:
      getRequiredTokens in class AbstractCheck
      Returns:
      the token set this must be registered for.
      See Also:
    • 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:
    • visitToken

      public void visitToken(DetailAST detailAST)
      Description copied from class: AbstractCheck
      Called to process a token.
      Overrides:
      visitToken in class AbstractCheck
      Parameters:
      detailAST - the token to process
    • 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