gcc/libjava/java/lang/ExceptionInInitializerError.java
Bryce McKinlay e52335a982 ExceptionInInitializerError.java (printStackTrace): Only try to print the subordinate stack trace if "exception" is set.
* java/lang/ExceptionInInitializerError.java (printStackTrace):
	Only try to print the subordinate stack trace if "exception" is set.
	Print our class name first.

From-SVN: r40404
2001-03-12 07:47:13 +00:00

86 lines
1.8 KiB
Java

// 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 <tromey@cygnus.com>
* @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;
}