* java/lang/ClassLoader.java (resolveClass0): Set cause for
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Sep 2002 17:44:49 +0000 (17:44 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Sep 2002 17:44:49 +0000 (17:44 +0000)
newly-created exception.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57310 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/lang/ClassLoader.java

index 89cba05..24bd7ac 100644 (file)
@@ -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,
index a6faa61..2c0e211 100644 (file)
@@ -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;
+             }
+         }
       }
   }