diff options
author | Tom Tromey <tromey@redhat.com> | 2002-09-19 17:44:49 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2002-09-19 17:44:49 +0000 |
commit | b5f4221e51ee97b043efd56738738e5c86fc43ac (patch) | |
tree | 9cb77c0bbafeed29eafcb05bdbe19693af354d8d /libjava/java/lang | |
parent | cc7ab9b79cdd3d07d5576b7721e6ba175909afdc (diff) | |
download | gcc-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/java/lang')
-rw-r--r-- | libjava/java/lang/ClassLoader.java | 29 |
1 files changed, 18 insertions, 11 deletions
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; + } + } } } |