diff options
| author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-13 10:04:15 +0000 |
|---|---|---|
| committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-13 10:04:15 +0000 |
| commit | 587f6a06e2b582d0f0fc0667a511ab9061f8de8a (patch) | |
| tree | da01c6569c832b060066b69519f36c4fc6b40209 /libjava | |
| parent | 0e85ba2b1a347850e92a4971f2775867266082ec (diff) | |
| download | ppe42-gcc-587f6a06e2b582d0f0fc0667a511ab9061f8de8a.tar.gz ppe42-gcc-587f6a06e2b582d0f0fc0667a511ab9061f8de8a.zip | |
* java/lang/ClassLoader.java (resolveClass0): Transform
ClassNotFoundException to NoClassDefFoundError. Transform all other
throwables to LinkageError.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60097 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
| -rw-r--r-- | libjava/ChangeLog | 6 | ||||
| -rw-r--r-- | libjava/java/lang/ClassLoader.java | 18 |
2 files changed, 18 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 203230b6bd3..c07140dd412 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 99acac68bb5..033b2cc4a6e 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; } } } |

