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

ExceptionInInitializerError

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.