diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-19 17:44:49 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-19 17:44:49 +0000 |
commit | bfaad7a1a97a813159fe6ac9931eab5e74c0e9d0 (patch) | |
tree | 9cb77c0bbafeed29eafcb05bdbe19693af354d8d | |
parent | 147b6a2d7f7c8e23dbb8920b0447be247a0cccd1 (diff) |
* java/lang/ClassLoader.java (resolveClass0): Set cause for
newly-created exception.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57310 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/lang/ClassLoader.java | 29 |
2 files changed, 23 insertions, 11 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 89cba058fbe..24bd7ac9444 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 a6faa61b2ed..2c0e21133d9 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; + } + } } } |