Java ExceptionInInitializerError类

ExceptionInInitializerError类重点
抛出ExceptionInInitializerError错误表示静态初始值设定项中发生意外异常。即计算静态初始值设定项或静态变量初始值设定项期间发生异常。

ExceptionInInitializerError类源码

package java.lang;

/**
 * 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.
 * 表示静态初始值设定项中发生意外异常。
 * 抛出ExceptionInInitializerError以指示在计算静态初始值设定项
 * 或静态变量初始值设定项期间发生异常。
 *
 * 

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 {@link #getException()} method is now known as the cause, * and may be accessed via the {@link Throwable#getCause()} method, as well * as the aforementioned "legacy method." * 从1.4版开始,此异常已进行了改装,以符合通用异常链接机制。 * 可以在构造时提供并通过getException()方法访问的“保存的可丢弃对象”现在称为原因, * 可以通过 Throwable#getCause()方法以及前面提到的“遗留方法”访问 * * @author Frank Yellin * @since 1.1 */ public class ExceptionInInitializerError extends LinkageError { /** * Use serialVersionUID from JDK 1.1.X for interoperability */ private static final long serialVersionUID = 1521711792217232256L; /** * This field holds the exception if the * ExceptionInInitializerError(Throwable thrown) constructor was * used to instantiate the object * * @serial * */ private Throwable exception; /** * 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() { initCause(null); // Disallow subsequent initCause } /** * Constructs a new ExceptionInInitializerError class by * saving a reference to the Throwable object thrown for * later retrieval by the {@link #getException()} method. The detail * message string is set to null. * * @param thrown The exception thrown */ public ExceptionInInitializerError(Throwable thrown) { initCause(null); // Disallow subsequent initCause this.exception = thrown; } /** * 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 {@link Throwable#getMessage()} method. There is no * saved throwable object. * * * @param s the detail message */ public ExceptionInInitializerError(String s) { super(s); initCause(null); // Disallow subsequent initCause } /** * 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 {@link Throwable#getCause()} method is now the preferred means of * obtaining this information. * * @return the saved throwable object of this * ExceptionInInitializerError, or null * if this ExceptionInInitializerError has no saved * throwable object. */ public Throwable getException() { return exception; } /** * Returns the cause of this error (the exception that occurred * during a static initialization that caused this error to be created). * * @return the cause of this error or null if the * cause is nonexistent or unknown. * @since 1.4 */ public Throwable getCause() { return exception; } }

你可能感兴趣的:(java部分类源码,java,开发语言,后端)