FSF GCC merge 02/23/03
[official-gcc.git] / libjava / testsuite / libjava.jni / throwit.c
blob34a3ca0767673c737e3fd3ac95cd3265c7c70e5d
1 #include <stdlib.h>
2 #include <throwit.h>
4 JNIEXPORT void JNICALL
5 Java_throwit_throwit (JNIEnv *env, jclass klass, jstring name,
6 jboolean is_new)
8 const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
9 jclass k = (*env)->FindClass (env, buf);
10 (*env)->ReleaseStringUTFChars (env, name, buf);
12 if (k == NULL || (*env)->ExceptionCheck (env))
13 return;
15 if (is_new)
16 (*env)->ThrowNew (env, k, "the word is zardoz");
17 else
19 jmethodID id = (*env)->GetMethodID (env, k, "<init>",
20 "(Ljava.lang.String;)V");
21 jstring z = (*env)->NewStringUTF (env, "zardoz is the word");
22 jobject obj = (*env)->NewObject (env, k, id, z);
23 (*env)->Throw (env, obj);