aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natClassLoader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r--libjava/java/lang/natClassLoader.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index 5f7138c..84fe0c4 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -1,6 +1,6 @@
// natClassLoader.cc - Implementation of java.lang.ClassLoader native methods.
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -80,8 +80,8 @@ java::lang::ClassLoader::defineClass0 (jstring name,
_Jv_Utf8Const * name2 = _Jv_makeUtf8Const (name);
if (! _Jv_VerifyClassName (name2))
- JvThrow (new java::lang::ClassFormatError
- (JvNewStringLatin1 ("erroneous class name")));
+ throw new java::lang::ClassFormatError
+ (JvNewStringLatin1 ("erroneous class name"));
klass->name = name2;
}
@@ -104,7 +104,10 @@ java::lang::ClassLoader::defineClass0 (jstring name,
// anything but ClassNotFoundException,
// or some kind of Error.
- JvThrow (ex);
+ // FIXME: Rewrite this as a cleanup instead of
+ // as a catch handler.
+
+ throw ex;
}
// if everything proceeded sucessfully, we're loaded.
@@ -151,9 +154,7 @@ _Jv_WaitForState (jclass klass, int state)
_Jv_MonitorExit (klass);
if (klass->state == JV_STATE_ERROR)
- {
- _Jv_Throw (new java::lang::LinkageError ());
- }
+ throw new java::lang::LinkageError;
}
// Finish linking a class. Only called from ClassLoader::resolveClass.
@@ -253,7 +254,7 @@ _Jv_PrepareCompiledClass (jclass klass)
if (! found)
{
jstring str = _Jv_NewStringUTF (name->data);
- JvThrow (new java::lang::ClassNotFoundException (str));
+ throw new java::lang::ClassNotFoundException (str);
}
pool->data[index].clazz = found;