throwbyname.c

来自「jni java本地接口编程例子原代码,是java调用本地操作系统代码的接口」· C语言 代码 · 共 22 行

C
22
字号
#include <stdio.h>#include <jni.h>#include "ThrowByName.h"void
JNU_ThrowByName(JNIEnv *env, const char *name, const char *msg)
{
    jclass cls = (*env)->FindClass(env, name);
    /* If cls is NULL, an exception has already been thrown */
    if (cls != NULL) {
        (*env)->ThrowNew(env, cls, msg);
    }
    /* free the local ref */
    (*env)->DeleteLocalRef(env, cls);
}

JNIEXPORT void JNICALL 
Java_ThrowByName_doit(JNIEnv *env, jobject obj)
{
    JNU_ThrowByName(env, "java/lang/InternalError", "XXXX");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?