summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/reflect
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/reflect')
-rw-r--r--libjava/java/lang/reflect/InvocationTargetException.java139
1 files changed, 96 insertions, 43 deletions
diff --git a/libjava/java/lang/reflect/InvocationTargetException.java b/libjava/java/lang/reflect/InvocationTargetException.java
index 0152a7bf2f5..4e04b42803e 100644
--- a/libjava/java/lang/reflect/InvocationTargetException.java
+++ b/libjava/java/lang/reflect/InvocationTargetException.java
@@ -1,75 +1,128 @@
-// InvocationTargetException.java - Wrapper exception for reflection.
+/* InvocationTargetException.java - Wrapper exception for reflection
+ Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-/* Copyright (C) 1998, 1999, 2000 Free Software Foundation
+This file is part of GNU Classpath.
- 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. */
+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.reflect;
+
import java.io.PrintStream;
import java.io.PrintWriter;
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
- */
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1
* Status: Believed complete and correct.
*/
-public class InvocationTargetException extends Exception
+/**
+ * InvocationTargetException is sort of a way to "wrap" whatever exception
+ * comes up when a method or constructor is called via Reflection.
+ *
+ * @author John Keiser
+ * @version 1.1.0, 31 May 1998
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ *
+ * @see Method#invoke(Object,Object[])
+ * @see Constructor#newInstance(Object[])
+ */
+
+public class InvocationTargetException extends Exception
{
- public Throwable getTargetException ()
+ static final long serialVersionUID = 4085088731926701167L;
+
+ private Throwable target = null;
+
+ protected InvocationTargetException()
{
- return target;
+ super();
}
-
- protected InvocationTargetException ()
+
+ /**
+ * Create an <code>InvocationTargetException</code> using another
+ * exception.
+ * @param targetException the exception to wrap
+ */
+ public InvocationTargetException(Throwable targetException)
{
- super ();
- target = null;
+ super(targetException.toString());
+ target = targetException;
}
-
- public InvocationTargetException (Throwable exception)
+
+ /**
+ * Create an <code>InvocationTargetException</code> using another
+ * exception and an error message.
+ *
+ * @param targetException the exception to wrap
+ * @param err an extra reason for the exception-throwing
+ */
+ public InvocationTargetException(Throwable targetException, String err)
{
- super ();
- target = exception;
+ super(err);
+ target = targetException;
}
-
- public InvocationTargetException (Throwable exception, String msg)
+
+ /**
+ * Get the wrapped (targeted) exception.
+ *
+ * @return the targeted exception.
+ */
+ public Throwable getTargetException()
{
- super (msg);
- target = exception;
+ return target;
}
- // This is from JDK 1.2.
- public void printStackTrace ()
+ public void printStackTrace()
{
- if (target != null)
+ if (target == null)
+ super.printStackTrace();
+ else
+ {
+ System.err.print(this.getClass() + ": ");
target.printStackTrace();
+ }
}
- // This is from JDK 1.2.
- public void printStackTrace (PrintStream s)
+ public void printStackTrace(PrintStream ps)
{
- if (target != null)
- target.printStackTrace(s);
+ if (target == null)
+ super.printStackTrace(ps);
+ else
+ {
+ ps.print(this.getClass() + ": ");
+ target.printStackTrace(ps);
+ }
}
- // This is from JDK 1.2.
- public void printStackTrace (PrintWriter wr)
+ public void printStackTrace(PrintWriter pw)
{
- if (target != null)
- target.printStackTrace(wr);
+ if (target == null)
+ super.printStackTrace(pw);
+ else
+ {
+ pw.print(this.getClass() + ": ");
+ target.printStackTrace(pw);
+ }
}
-
- // The wrapped exception. The name is specified by the
- // serialization spec.
- private Throwable target;
-
- private static final long serialVersionUID = 4085088731926701167L;
}
OpenPOWER on IntegriCloud