1999-04-07 22:42:40 +08:00
|
|
|
// Throwable.java - Superclass for all exceptions.
|
|
|
|
|
2000-01-20 02:39:27 +08:00
|
|
|
/* Copyright (C) 1998, 1999 Red Hat, Inc.
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
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;
|
|
|
|
import java.io.Serializable;
|
2000-01-17 23:45:24 +08:00
|
|
|
import java.io.OutputStreamWriter;
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Tom Tromey <tromey@cygnus.com>
|
|
|
|
* @date October 30, 1998
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
|
|
|
|
* "The Java Language Specification", ISBN 0-201-63451-1
|
|
|
|
* Status: Sufficient for compiled code, but methods applicable to
|
|
|
|
* bytecode not implemented. JDK 1.1.
|
|
|
|
*/
|
|
|
|
|
|
|
|
public class Throwable implements Serializable
|
|
|
|
{
|
2000-01-17 23:45:24 +08:00
|
|
|
public native Throwable fillInStackTrace ();
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
public String getLocalizedMessage ()
|
2000-01-17 23:45:24 +08:00
|
|
|
{
|
|
|
|
return getMessage ();
|
|
|
|
}
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
public String getMessage ()
|
2000-01-17 23:45:24 +08:00
|
|
|
{
|
|
|
|
return detailMessage;
|
|
|
|
}
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
public void printStackTrace ()
|
2000-01-17 23:45:24 +08:00
|
|
|
{
|
|
|
|
printStackTrace (System.err);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void printStackTrace (PrintStream ps)
|
|
|
|
{
|
|
|
|
printStackTrace (new PrintWriter(new OutputStreamWriter(ps)));
|
|
|
|
}
|
|
|
|
|
|
|
|
public native void printStackTrace (PrintWriter wr);
|
|
|
|
|
1999-04-07 22:42:40 +08:00
|
|
|
public Throwable ()
|
2000-01-17 23:45:24 +08:00
|
|
|
{
|
|
|
|
detailMessage = null;
|
|
|
|
fillInStackTrace ();
|
|
|
|
}
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
public Throwable (String message)
|
2000-01-17 23:45:24 +08:00
|
|
|
{
|
|
|
|
detailMessage = message;
|
|
|
|
fillInStackTrace ();
|
|
|
|
}
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
public String toString ()
|
2000-01-17 23:45:24 +08:00
|
|
|
{
|
|
|
|
return ((detailMessage == null)
|
|
|
|
? getClass().getName()
|
|
|
|
: getClass().getName() + ": " + getMessage ());
|
|
|
|
}
|
1999-04-07 22:42:40 +08:00
|
|
|
|
|
|
|
// Name of this field comes from serialization spec.
|
|
|
|
private String detailMessage;
|
2000-01-17 23:45:24 +08:00
|
|
|
|
|
|
|
private byte stackTrace[];
|
1999-04-07 22:42:40 +08:00
|
|
|
}
|