mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			145 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
| /* ExceptionInInitializerError.java 
 | |
|    Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 | |
| 
 | |
| This file is part of GNU Classpath.
 | |
| 
 | |
| GNU Classpath is free software; you can redistribute it and/or modify
 | |
| it under the terms of the GNU General Public License as published by
 | |
| the Free Software Foundation; either version 2, or (at your option)
 | |
| any later version.
 | |
|  
 | |
| GNU Classpath is distributed in the hope that it will be useful, but
 | |
| WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
| General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU General Public License
 | |
| along with GNU Classpath; see the file COPYING.  If not, write to the
 | |
| Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 | |
| 02111-1307 USA.
 | |
| 
 | |
| As a special exception, if you link this library with other files to
 | |
| produce an executable, this library does not by itself cause the
 | |
| resulting executable to be covered by the GNU General Public License.
 | |
| This exception does not however invalidate any other reasons why the
 | |
| executable file might be covered by the GNU General Public License. */
 | |
| 
 | |
| 
 | |
| package java.lang;
 | |
| 
 | |
| import java.io.PrintStream;
 | |
| import java.io.PrintWriter;
 | |
| 
 | |
| /* 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.
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * An <code>ExceptionInInitializerError</code> is thrown when an 
 | |
|  * unexpected exception has occurred in a static initializer or the
 | |
|  * initializer for a static variable.
 | |
|  *
 | |
|  * @since JDK 1.1
 | |
|  * 
 | |
|  * @author Brian Jones
 | |
|  * @author Tom Tromey <tromey@cygnus.com>
 | |
|  * @date October 1, 1998 
 | |
|  */
 | |
| public class ExceptionInInitializerError extends LinkageError
 | |
| {
 | |
|   static final long serialVersionUID = 1521711792217232256L;
 | |
| 
 | |
|   private Throwable exception = null;
 | |
| 
 | |
|   /**
 | |
|    * Create an error without a message.
 | |
|    */
 | |
|   public ExceptionInInitializerError()
 | |
|     {
 | |
|       super();
 | |
|     }
 | |
| 
 | |
|   /**
 | |
|    * Create an error with a message.
 | |
|    */
 | |
|   public ExceptionInInitializerError(String s)
 | |
|     {
 | |
|       super(s);
 | |
|     }
 | |
| 
 | |
|   /**
 | |
|    * Creates an error an saves a reference to the <code>Throwable</code>
 | |
|    * object.
 | |
|    *
 | |
|    * @param t the exception thrown
 | |
|    */
 | |
|   public ExceptionInInitializerError(Throwable t)
 | |
|     {
 | |
|       super(t.toString());
 | |
|       exception = t;
 | |
|     }
 | |
| 
 | |
|   /** 
 | |
|    * Return the exception that caused this error to be created.
 | |
|    * @return the stored <code>Throwable</code> object or <code>null</code>
 | |
|    * if this <code>ExceptionInInitializerError</code> has no stored
 | |
|    * <code>Throwable</code> object.
 | |
|    */
 | |
|   public Throwable getException()
 | |
|     {
 | |
|       return exception;
 | |
|     }
 | |
| 
 | |
|   /**
 | |
|    * Print a stack trace of the exception that occurred.
 | |
|    */
 | |
|   public void printStackTrace()
 | |
|     {
 | |
|       if (exception == null)
 | |
| 	{
 | |
| 	  super.printStackTrace();
 | |
| 	}
 | |
|       else
 | |
| 	{
 | |
| 	  System.err.print(this.getClass() + ": ");
 | |
| 	  exception.printStackTrace();
 | |
| 	}
 | |
|     }
 | |
| 
 | |
|   /**
 | |
|    * Print a stack trace of the exception that occurred to 
 | |
|    * the specified <code>PrintStream</code>.
 | |
|    */
 | |
|   public void printStackTrace(PrintStream ps)
 | |
|     {
 | |
|       if (exception == null)
 | |
| 	{
 | |
| 	  super.printStackTrace(ps);
 | |
| 	}
 | |
|       else
 | |
| 	{
 | |
| 	  ps.print(this.getClass() + ": ");
 | |
| 	  exception.printStackTrace(ps);
 | |
| 	}
 | |
|     }
 | |
| 
 | |
|   /**
 | |
|    * Print a stack trace of the exception that occurred to 
 | |
|    * the specified <code>PrintWriter</code>.
 | |
|    */
 | |
|   public void printStackTrace(PrintWriter pw)
 | |
|     {
 | |
|       if (exception == null)
 | |
| 	{
 | |
| 	  super.printStackTrace(pw);
 | |
| 	}
 | |
|       else
 | |
| 	{
 | |
| 	  pw.print(this.getClass() + ": ");
 | |
| 	  exception.printStackTrace(pw);
 | |
| 	}
 | |
|     }
 | |
| }
 |