// ExceptionInInitializerError.java /* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ package java.lang; import java.io.PrintStream; import java.io.PrintWriter; /** * @author Tom Tromey * @date October 1, 1998 */ /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 * plus online API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. */ public class ExceptionInInitializerError extends LinkageError { public ExceptionInInitializerError () { super (); exception = null; } public ExceptionInInitializerError (String msg) { super (msg); exception = null; } public ExceptionInInitializerError (Throwable e) { super (e.toString()); exception = e; } public Throwable getException () { return exception; } public void printStackTrace () { if (exception != null) { System.err.print (this.getClass().getName() + ": "); exception.printStackTrace (); } else super.printStackTrace (); } public void printStackTrace (PrintStream ps) { if (exception != null) { ps.print (this.getClass().getName() + ": "); exception.printStackTrace (ps); } else super.printStackTrace (ps); } public void printStackTrace (PrintWriter pw) { if (exception != null) { pw.print (this.getClass().getName() + ": "); exception.printStackTrace (pw); } else super.printStackTrace (pw); } // The exception that caused this error. private Throwable exception; }