# ExceptionInInitializerError

public class **ExceptionInInitializerError** extends [LinkageError](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/LinkageError.html)  
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 `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#getException()` method is now known as the *cause*,
and may be accessed via the `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getCause()` method, as well
as the aforementioned "legacy method."

### Public Constructor Summary

|---|---|
|   | [ExceptionInInitializerError](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#ExceptionInInitializerError())() Constructs an `ExceptionInInitializerError` with `null` as its detail message string and with no saved throwable object. |
|   | [ExceptionInInitializerError](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#ExceptionInInitializerError(java.lang.Throwable))([Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) thrown) Constructs a new `ExceptionInInitializerError` class by saving a reference to the `Throwable` object thrown for later retrieval by the `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#getException()` method. |
|   | [ExceptionInInitializerError](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#ExceptionInInitializerError(java.lang.String))([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) s) Constructs an ExceptionInInitializerError with the specified detail message string. |

### Public Method Summary

|---|---|
| [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) | [getCause](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#getCause())() Returns the cause of this error (the exception that occurred during a static initialization that caused this error to be created). |
| [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) | [getException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#getException())() Returns the exception that occurred during a static initialization that caused this error to be created. |

### Inherited Method Summary

From class [java.lang.Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html)

|---|---|
| synchronized final void | [addSuppressed](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#addSuppressed(java.lang.Throwable))([Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) exception) Appends the specified exception to the exceptions that were suppressed in order to deliver this exception. |
| synchronized [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) | [fillInStackTrace](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#fillInStackTrace())() Fills in the execution stack trace. |
| synchronized [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) | [getCause](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getCause())() Returns the cause of this throwable or `null` if the cause is nonexistent or unknown. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getLocalizedMessage](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getLocalizedMessage())() Creates a localized description of this throwable. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getMessage](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getMessage())() Returns the detail message string of this throwable. |
| StackTraceElement\[\] | [getStackTrace](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getStackTrace())() Provides programmatic access to the stack trace information printed by `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#printStackTrace()`. |
| synchronized final [Throwable\[\]](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) | [getSuppressed](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getSuppressed())() Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception. |
| synchronized [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) | [initCause](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#initCause(java.lang.Throwable))([Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) cause) Initializes the *cause* of this throwable to the specified value. |
| void | [printStackTrace](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#printStackTrace())() Prints this throwable and its backtrace to the standard error stream. |
| void | [printStackTrace](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#printStackTrace(java.io.PrintWriter))([PrintWriter](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/PrintWriter.html) s) Prints this throwable and its backtrace to the specified print writer. |
| void | [printStackTrace](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#printStackTrace(java.io.PrintStream))([PrintStream](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/PrintStream.html) s) Prints this throwable and its backtrace to the specified print stream. |
| void | [setStackTrace](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[]))(StackTraceElement\[\] stackTrace) Sets the stack trace elements that will be returned by `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getStackTrace()` and printed by `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#printStackTrace()` and related methods. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#toString())() Returns a short description of this throwable. |

From class [java.lang.Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)

|---|---|
| [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |
| boolean | [equals](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#equals(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |
| void | [finalize](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |
| final [Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<?\> | [getClass](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#getClass())() Returns the unique instance of `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html` that represents this object's class. |
| int | [hashCode](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |
| final void | [notify](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| final void | [notifyAll](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |

## Public Constructors

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

#### public
**ExceptionInInitializerError**
([Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html) thrown)

Constructs a new `ExceptionInInitializerError` class by
saving a reference to the `Throwable` object thrown for
later retrieval by the `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/ExceptionInInitializerError.html#getException()` method. The detail
message string is set to `null`.

##### Parameters

| thrown | The exception thrown |
|---|---|

#### public
**ExceptionInInitializerError**
([String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) 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 `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#getMessage()` method. There is no
saved throwable object.

##### Parameters

| s | the detail message |
|---|---|

## Public Methods

#### public [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html)
**getCause**
()

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

##### Returns

- the cause of this error or `null` if the cause is nonexistent or unknown.

#### public [Throwable](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html)
**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 `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Throwable.html#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.