Runtime.java (_exit): Declare new package-private native.
2001-03-12 Bryce McKinlay <bryce@albatross.co.nz> * java/lang/Runtime.java (_exit): Declare new package-private native. * java/lang/natRuntime.cc (_exit): Implemented. Same as exit() but without a security manager check. (exit): Call _exit after security check. * prims.cc (JvRunMain): Call Runtime._exit to shutdown the runtime "naturally". * java/lang/System.java (setSecurityManager): If a security manager is already in place, call checkPermission. * java/lang/ThreadGroup.java (uncaughtException): If printStackTrace() throws an exception, try to deal with it gracefully. * java/lang/ExceptionInInitializerError.java (printStackTrace): Only try to print the subordinate stack trace if "exception" is set. Print our class name first. From-SVN: r40401
This commit is contained in:
parent
9612ab65bd
commit
456c0b60ad
7 changed files with 65 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
|||
// ExceptionInInitializerError.java
|
||||
|
||||
/* Copyright (C) 1998, 1999, 2000 Free Software Foundation
|
||||
/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
|
@ -38,7 +38,7 @@ public class ExceptionInInitializerError extends LinkageError
|
|||
|
||||
public ExceptionInInitializerError (Throwable e)
|
||||
{
|
||||
super ();
|
||||
super (e.toString());
|
||||
exception = e;
|
||||
}
|
||||
|
||||
|
@ -49,17 +49,35 @@ public class ExceptionInInitializerError extends LinkageError
|
|||
|
||||
public void printStackTrace ()
|
||||
{
|
||||
exception.printStackTrace ();
|
||||
if (exception != null)
|
||||
{
|
||||
System.err.print (this.getClass() + ": ");
|
||||
exception.printStackTrace ();
|
||||
}
|
||||
else
|
||||
super.printStackTrace ();
|
||||
}
|
||||
|
||||
public void printStackTrace (PrintStream ps)
|
||||
{
|
||||
exception.printStackTrace (ps);
|
||||
if (exception != null)
|
||||
{
|
||||
ps.print (this.getClass() + ": ");
|
||||
exception.printStackTrace (ps);
|
||||
}
|
||||
else
|
||||
super.printStackTrace (ps);
|
||||
}
|
||||
|
||||
public void printStackTrace (PrintWriter pw)
|
||||
{
|
||||
exception.printStackTrace (pw);
|
||||
if (exception != null)
|
||||
{
|
||||
pw.print (this.getClass() + ": ");
|
||||
exception.printStackTrace (pw);
|
||||
}
|
||||
else
|
||||
super.printStackTrace (pw);
|
||||
}
|
||||
|
||||
// The exception that caused this error.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue