ExceptionInInitializerError (Java SE 17 & JDK 17)
Description: declaration: module: java.base, package: java.lang, class: ExceptionInInitializerError
Keywords: java.lang.ExceptionInInitializerError class

Module java.base
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.

Since:
  1.1
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

  Modifier and Type
  Method
  Description
  `Throwable`
  `getException()`
  Returns the exception that occurred during a static initialization that caused this error to be created.

  ### 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

  - ### 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(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

  - ### 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

- ## Method Details

  - ### getException

    public Throwable getException()
    Returns the exception that occurred during a static initialization that caused this error to be created.
    API Note:
      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.