Package java.lang

## Class ExceptionInInitializerError

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Error
    - - java.lang.LinkageError
      - - java.lang.ExceptionInInitializerError

- All Implemented Interfaces:
    `Serializable`

      public class ExceptionInInitializerError
      extends LinkageError

  Signals that an unexpected exception has occurred in a static initializer. An `ExceptionInInitializerError` is thrown to indicate that an exception occurred during evaluation of a static initializer or the initializer for a static variable.

  As of release 1.4, this exception has been retrofitted to conform to the general purpose exception-chaining mechanism. The "saved throwable object" that may be provided at construction time and accessed via the `getException()` method is now known as the cause, and may be accessed via the `Throwable.getCause()` method, as well as the aforementioned "legacy method."

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExceptionInInitializerError()` | Constructs an `ExceptionInInitializerError` with `null` as its detail message string and with no saved throwable object.
    `ExceptionInInitializerError​(String s)` | Constructs an ExceptionInInitializerError with the specified detail message string.
    `ExceptionInInitializerError​(Throwable thrown)` | Constructs a new `ExceptionInInitializerError` class by saving a reference to the `Throwable` object thrown for later retrieval by the `getException()` method.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Throwable` | `getCause()` | Returns the cause of this error (the exception that occurred during a static initialization that caused this error to be created).
    `Throwable` | `getException()` | Returns the exception that occurred during a static initialization that caused this error to be created.

    - ### Methods inherited from class java.lang.Throwable

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### ExceptionInInitializerError

          public ExceptionInInitializerError()

      Constructs an `ExceptionInInitializerError` with `null` as its detail message string and with no saved throwable object. A detail message is a String that describes this particular exception.

    - #### ExceptionInInitializerError

          public ExceptionInInitializerError​(String s)

      Constructs an ExceptionInInitializerError with the specified detail message string. A detail message is a String that describes this particular exception. The detail message string is saved for later retrieval by the `Throwable.getMessage()` method. There is no saved throwable object.
      Parameters:
        `s` - the detail message

    - #### ExceptionInInitializerError

          public ExceptionInInitializerError​(Throwable thrown)

      Constructs a new `ExceptionInInitializerError` class by saving a reference to the `Throwable` object thrown for later retrieval by the `getException()` method. The detail message string is set to `null`.
      Parameters:
        `thrown` - The exception thrown

  - ### Method Detail

    - #### getCause

          @Nullable
          public Throwable getCause()

      Returns the cause of this error (the exception that occurred during a static initialization that caused this error to be created).
      Overrides:
        `getCause` in class `Throwable`
      Returns:
        the cause of this error or `null` if the cause is nonexistent or unknown.

    - #### getException

          @Nullable
          public Throwable getException()

      Returns the exception that occurred during a static initialization that caused this error to be created.

      This method predates the general-purpose exception chaining facility. The `Throwable.getCause()` method is now the preferred means of obtaining this information.

      Returns:
        the saved throwable object of this `ExceptionInInitializerError`, or `null` if this `ExceptionInInitializerError` has no saved throwable object.