aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2002-12-13 10:04:15 +0000
committerMark Wielaard <mark@gcc.gnu.org>2002-12-13 10:04:15 +0000
commitf0caaa23bf4184320da641eec159b0ef52ac337e (patch)
treeda01c6569c832b060066b69519f36c4fc6b40209 /libjava
parent9d051273bde4936c1103cb27d3509f6a28ed2e4c (diff)
downloadgcc-f0caaa23bf4184320da641eec159b0ef52ac337e.zip
gcc-f0caaa23bf4184320da641eec159b0ef52ac337e.tar.gz
gcc-f0caaa23bf4184320da641eec159b0ef52ac337e.tar.bz2
ClassLoader.java (resolveClass0): Transform ClassNotFoundException to NoClassDefFoundError.
* java/lang/ClassLoader.java (resolveClass0): Transform ClassNotFoundException to NoClassDefFoundError. Transform all other throwables to LinkageError. From-SVN: r60097
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/lang/ClassLoader.java18
2 files changed, 18 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 203230b..c07140d 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2002-12-12 Mark Wielaard <mark@klomp.org>
+
+ * java/lang/ClassLoader.java (resolveClass0): Transform
+ ClassNotFoundException to NoClassDefFoundError. Transform all other
+ throwables to LinkageError.
+
2002-12-11 Tom Tromey <tromey@redhat.com>
* java/lang/ClassLoader.java (findLoadedClass): Now synchronized.
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
index 99acac6..033b2cc 100644
--- a/libjava/java/lang/ClassLoader.java
+++ b/libjava/java/lang/ClassLoader.java
@@ -535,16 +535,22 @@ public abstract class ClassLoader
{
markClassErrorState0 (clazz);
- if (x instanceof Error)
- throw (Error)x;
+ LinkageError e;
+ if (x instanceof LinkageError)
+ e = (LinkageError)x;
+ else if (x instanceof ClassNotFoundException)
+ {
+ e = new NoClassDefFoundError("while resolving class: "
+ + clazz.getName());
+ e.initCause (x);
+ }
else
{
- InternalError e
- = new InternalError ("unexpected exception during linking: "
- + clazz.getName());
+ e = new LinkageError ("unexpected exception during linking: "
+ + clazz.getName());
e.initCause (x);
- throw e;
}
+ throw e;
}
}
}