aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-09-19 17:44:49 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-09-19 17:44:49 +0000
commitb5f4221e51ee97b043efd56738738e5c86fc43ac (patch)
tree9cb77c0bbafeed29eafcb05bdbe19693af354d8d /libjava
parentcc7ab9b79cdd3d07d5576b7721e6ba175909afdc (diff)
downloadgcc-b5f4221e51ee97b043efd56738738e5c86fc43ac.zip
gcc-b5f4221e51ee97b043efd56738738e5c86fc43ac.tar.gz
gcc-b5f4221e51ee97b043efd56738738e5c86fc43ac.tar.bz2
ClassLoader.java (resolveClass0): Set cause for newly-created exception.
* java/lang/ClassLoader.java (resolveClass0): Set cause for newly-created exception. From-SVN: r57310
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/lang/ClassLoader.java29
2 files changed, 23 insertions, 11 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 89cba05..24bd7ac 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-19 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/ClassLoader.java (resolveClass0): Set cause for
+ newly-created exception.
+
2002-09-18 Michael Koch <konqueror@gmx.de>
* java/util/regex/Matcher.java, java/util/regex/Pattern.java,
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
index a6faa61..2c0e211 100644
--- a/libjava/java/lang/ClassLoader.java
+++ b/libjava/java/lang/ClassLoader.java
@@ -432,17 +432,24 @@ public abstract class ClassLoader
{
synchronized (clazz)
{
- try {
- linkClass0 (clazz);
- } catch (Throwable x) {
- markClassErrorState0 (clazz);
-
- if (x instanceof Error)
- throw (Error)x;
- else
- throw new java.lang.InternalError
- ("unexpected exception during linking: " + x);
- }
+ try
+ {
+ linkClass0 (clazz);
+ }
+ catch (Throwable x)
+ {
+ markClassErrorState0 (clazz);
+
+ if (x instanceof Error)
+ throw (Error)x;
+ else
+ {
+ InternalError e
+ = new InternalError ("unexpected exception during linking");
+ e.initCause (x);
+ throw e;
+ }
+ }
}
}