From 7eee682ba80fbddd26e9ab9ddfa320711485a405 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 2 Sep 2001 06:18:49 +0000 Subject: Makefile.in: Rebuilt. * Makefile.in: Rebuilt. * Makefile.am (core_java_source_files): Added UnsupportedClassVersionError. * java/lang/UnsupportedClassVersionError.java: New file from Classpath. * java/io/CharConversionException.java, java/io/EOFException.java, java/io/FileNotFoundException.java, java/io/IOException.java, java/io/InterruptedIOException.java, java/io/ObjectStreamException.java, java/io/OptionalDataException.java, java/io/StreamCorruptedException.java, java/io/SyncFailedException.java, java/io/UTFDataFormatException.java, java/io/UnsupportedEncodingException.java, java/lang/AbstractMethodError.java, java/lang/ArithmeticException.java, java/lang/ArrayIndexOutOfBoundsException.java, java/lang/ArrayStoreException.java, java/lang/ClassCastException.java, java/lang/ClassCircularityError.java, java/lang/ClassFormatError.java, java/lang/CloneNotSupportedException.java, java/lang/Error.java, java/lang/Exception.java, java/lang/ExceptionInInitializerError.java, java/lang/IllegalAccessError.java, java/lang/IllegalAccessException.java, java/lang/IllegalArgumentException.java, java/lang/IllegalMonitorStateException.java, java/lang/IllegalStateException.java, java/lang/IllegalThreadStateException.java, java/lang/IncompatibleClassChangeError.java, java/lang/IndexOutOfBoundsException.java, java/lang/InstantiationError.java, java/lang/InstantiationException.java, java/lang/InternalError.java, java/lang/InterruptedException.java, java/lang/LinkageError.java, java/lang/NegativeArraySizeException.java, java/lang/NoClassDefFoundError.java, java/lang/NoSuchFieldError.java, java/lang/NoSuchFieldException.java, java/lang/NoSuchMethodError.java, java/lang/NoSuchMethodException.java, java/lang/NullPointerException.java, java/lang/NumberFormatException.java, java/lang/OutOfMemoryError.java, java/lang/RuntimeException.java, java/lang/SecurityException.java, java/lang/StackOverflowError.java, java/lang/StringIndexOutOfBoundsException.java, java/lang/ThreadDeath.java, java/lang/UnknownError.java, java/lang/UnsatisfiedLinkError.java, java/lang/UnsupportedOperationException.java, java/lang/VerifyError.java, java/lang/VirtualMachineError.java, java/lang/reflect/InvocationTargetException.java, java/net/BindException.java, java/net/ConnectException.java, java/net/MalformedURLException.java, java/net/NoRouteToHostException.java, java/net/ProtocolException.java, java/net/SocketException.java, java/net/UnknownHostException.java, java/net/UnknownServiceException.java, java/text/ParseException.java: Copied from Classpath, thanks to Mark Wielaard who did the merge. * java/lang/System.java (getProperty): Use single argument form of SecurityManager.checkPropertyAccess. * Makefile.in: Rebuilt. * Makefile.am (core_java_source_files): Added VMSecurityManager. * java/lang/VMSecurityManager.java: New file. * java/lang/SecurityManager.java: Merged with Classpath. From-SVN: r45353 --- .../lang/reflect/InvocationTargetException.java | 139 ++++++++++++++------- 1 file changed, 96 insertions(+), 43 deletions(-) (limited to 'libjava/java/lang/reflect') diff --git a/libjava/java/lang/reflect/InvocationTargetException.java b/libjava/java/lang/reflect/InvocationTargetException.java index 0152a7b..4e04b42 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 - * @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 + * @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 InvocationTargetException 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 InvocationTargetException 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; } -- cgit v1.1