diff options
author | paltherr <paltherr@epfl.ch> | 2004-06-09 13:18:08 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-06-09 13:18:08 +0000 |
commit | b33917d779989a8b66a25ed45921584758c9d7bb (patch) | |
tree | ed7be5bf38af13faf32df60c6717f7b68046d472 | |
parent | 960da5806ca591055d6437395bf70f33f7afe9c5 (diff) | |
download | scala-b33917d779989a8b66a25ed45921584758c9d7bb.tar.gz scala-b33917d779989a8b66a25ed45921584758c9d7bb.tar.bz2 scala-b33917d779989a8b66a25ed45921584758c9d7bb.zip |
- Improved exceptions launched on errors
-rw-r--r-- | sources/scala/tools/scalai/PathClassLoader.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/scala/tools/scalai/PathClassLoader.java b/sources/scala/tools/scalai/PathClassLoader.java index 251b79661f..34aec40a59 100644 --- a/sources/scala/tools/scalai/PathClassLoader.java +++ b/sources/scala/tools/scalai/PathClassLoader.java @@ -32,13 +32,14 @@ public class PathClassLoader extends ClassLoader { // ClassLoader interface public Class findClass(String name) throws ClassNotFoundException { + String filename = name.replace('.', File.separatorChar) + ".class"; + AbstractFile file = root.lookupPath(filename, false); + if (file == null) throw new ClassNotFoundException(name); try { - String filename = name.replace('.', File.separatorChar) + ".class"; - AbstractFile file = root.lookupPath(filename, false); byte[] bytes = file.read(); return defineClass(name, bytes, 0, bytes.length); } catch (IOException exception) { - throw new ClassNotFoundException(name); + throw new ClassFormatError(name+"(Failed to read file "+file+")"); } } |