aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-19 17:44:49 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-19 17:44:49 +0000
commitbfaad7a1a97a813159fe6ac9931eab5e74c0e9d0 (patch)
tree9cb77c0bbafeed29eafcb05bdbe19693af354d8d
parent147b6a2d7f7c8e23dbb8920b0447be247a0cccd1 (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/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 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;
+ }
+ }
}
}