1234567891011121314151617181920212223242526 |
- #include <stdlib.h>
- #include <throwit.h>
- JNIEXPORT void JNICALL
- Java_throwit_throwit (JNIEnv *env, jclass klass, jstring name,
- jboolean is_new)
- {
- const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
- jclass k = (*env)->FindClass (env, buf);
- (*env)->ReleaseStringUTFChars (env, name, buf);
- if (k == NULL || (*env)->ExceptionCheck (env))
- return;
- if (is_new)
- (*env)->ThrowNew (env, k, "the word is zardoz");
- else
- {
- jmethodID id = (*env)->GetMethodID (env, k, "<init>",
- "(Ljava.lang.String;)V");
- jstring z = (*env)->NewStringUTF (env, "zardoz is the word");
- jobject obj = (*env)->NewObject (env, k, id, z);
- (*env)->Throw (env, obj);
- }
- }
|