UnknownDirectiveException (Java SE 17 & JDK 17)
Description: declaration: module: java.compiler, package: javax.lang.model.element, class: UnknownDirectiveException
Keywords: javax.lang.model.element.UnknownDirectiveException class

Module java.compiler
Package javax.lang.model.element

# Class UnknownDirectiveException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
javax.lang.model.UnknownEntityException
javax.lang.model.element.UnknownDirectiveException

All Implemented Interfaces:
  `Serializable`

public class UnknownDirectiveException extends UnknownEntityException
Indicates that an unknown kind of module directive was encountered. This can occur if the language evolves and new kinds of directives are added to the `Directive` hierarchy. May be thrown by a directive visitor to indicate that the visitor was created for a prior version of the language.

Since:
  9
See Also:
  - `ModuleElement.DirectiveVisitor.visitUnknown(javax.lang.model.element.ModuleElement.Directive, P)`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UnknownDirectiveException(ModuleElement.Directive d, Object p)`
  Creates a new `UnknownElementException`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getArgument()`
  Returns the additional argument.
  `ModuleElement.Directive`
  `getUnknownDirective()`
  Returns the unknown directive.

  ### Methods declared in class java.lang.Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### UnknownDirectiveException

    public UnknownDirectiveException(ModuleElement.Directive d, Object p)
    Creates a new `UnknownElementException`. The `p` parameter may be used to pass in an additional argument with information about the context in which the unknown directive was encountered; for example, the visit methods of `DirectiveVisitor` may pass in their additional parameter.
    Parameters:
      `d` - the unknown directive, may be `null`
      `p` - an additional parameter, may be `null`

- ## Method Details

  - ### getUnknownDirective

    public ModuleElement.Directive getUnknownDirective()
    Returns the unknown directive. The value may be unavailable if this exception has been serialized and then read back in.
    Returns:
      the unknown directive, or `null` if unavailable

  - ### getArgument

    public Object getArgument()
    Returns the additional argument.
    Returns:
      the additional argument, or `null` if unavailable