From b5f4221e51ee97b043efd56738738e5c86fc43ac Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 19 Sep 2002 17:44:49 +0000 Subject: [PATCH] ClassLoader.java (resolveClass0): Set cause for newly-created exception. * java/lang/ClassLoader.java (resolveClass0): Set cause for newly-created exception. From-SVN: r57310 --- libjava/ChangeLog | 5 +++++ libjava/java/lang/ClassLoader.java | 27 +++++++++++++++++---------- 2 files changed, 22 insertions(+), 10 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 + + * java/lang/ClassLoader.java (resolveClass0): Set cause for + newly-created exception. + 2002-09-18 Michael Koch * 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); + 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); - } + if (x instanceof Error) + throw (Error)x; + else + { + InternalError e + = new InternalError ("unexpected exception during linking"); + e.initCause (x); + throw e; + } + } } }