美文网首页
异常捕获

异常捕获

作者: 禅座 | 来源:发表于2019-06-14 13:49 被阅读0次

JNI的异常处理

JNIEXPORT void JNICALL Java_com_dongnao_alvin_Jni_1Test_exception
(JNIEnv * env, jobject jobj) {
    jclass cls = (*env)->GetObjectClass(env, jobj);
    jfieldID fid = (*env)->GetFieldID(env, cls, "key", "Ljava/lang/String;");
    
    //检查是否发送异常
    jthrowable ex = (*env)->ExceptionOccurred(env);
    //判断异常是否发送
    if(ex!=NULL) {
        jclass newExc;
        //清空JNI产生的异常,可以组织java层的崩溃
        (*env)->ExceptionClear(env);
        // 自己定义一个java层的Exception IllegalArgumentException
        newExc = (*env)->FindClass(env,"java/lang/IllegalArgumentException");
        if (newExc == NULL)
        {
            printf("exception\n");
            return;
        }
        (*env)->ThrowNew(env, newExc, "Throw exception from JNI: GetFieldID faild ");
    }
}

相关文章

  • Python面向对象2

    异常 捕获异常image.png根据错误类型捕获异常image.png 未知错误捕获image.png 捕获异常完...

  • 工作总结-002

    异常捕获service捕获业务异常,自定义BaseException;interface捕获业务异常,以及其他异常...

  • C++学习第20课,异常

    1 异常 一句话概括:捕获异常 1.1 谁捕获异常?捕获谁? A捕获B A() { try{ B(); } ...

  • Python 面向对象 - 08 异常

    目录一、概念二、捕获异常2.1 简单的捕获异常语法2.2 错误类型捕获2.3 异常捕获完整语法三、异常的传递四、抛...

  • springboot 异常捕获和处理

    springboot 异常捕获和处理 异常捕获处理

  • iOS 异常捕获处理机制(初级篇)

    一、异常处理简介 二、异常捕获案例 使用@try catch捕获异常 例1是最简单的一种写法: 捕获异常之嵌套捕获...

  • python3.7异常小记

    首先上示例代码: 这段代码包含了,异常分支类型捕获,无异常捕获,有无异常都会捕获的执行逻辑。 捕获全局异常 对入口...

  • Python异常处理

    Python异常处理 一、捕获异常 1.异常捕获语法 2.错误类型捕获 except:处理所有异常。except ...

  • 自定义异常捕获 与 自定返回json 数据格式

    1. 自定义异常捕获 自定的异常 2 捕获异常 =================================...

  • python知识点

    异常捕获 try ... except 捕获所有异常 Exception as reselt 自己定义异常: ra...

网友评论

      本文标题:异常捕获

      本文链接:https://www.haomeiwen.com/subject/nezlxctx.html