diff options
author | Mark Wielaard <mark@klomp.org> | 2002-12-13 10:04:15 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2002-12-13 10:04:15 +0000 |
commit | f0caaa23bf4184320da641eec159b0ef52ac337e (patch) | |
tree | da01c6569c832b060066b69519f36c4fc6b40209 /libjava/java | |
parent | 9d051273bde4936c1103cb27d3509f6a28ed2e4c (diff) | |
download | gcc-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/java')
-rw-r--r-- | libjava/java/lang/ClassLoader.java | 18 |
1 files changed, 12 insertions, 6 deletions
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; } } } |