summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-06-09 13:18:08 +0000
committerpaltherr <paltherr@epfl.ch>2004-06-09 13:18:08 +0000
commitb33917d779989a8b66a25ed45921584758c9d7bb (patch)
treeed7be5bf38af13faf32df60c6717f7b68046d472
parent960da5806ca591055d6437395bf70f33f7afe9c5 (diff)
downloadscala-b33917d779989a8b66a25ed45921584758c9d7bb.tar.gz
scala-b33917d779989a8b66a25ed45921584758c9d7bb.tar.bz2
scala-b33917d779989a8b66a25ed45921584758c9d7bb.zip
- Improved exceptions launched on errors
-rw-r--r--sources/scala/tools/scalai/PathClassLoader.java7
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+")");
}
}