Android JnI中异常的行为和java中的不同,在Java中抛出一个异常时,JVM会终止程序执行。并且JVM会反向检查处理特定类型的异常代码块。而在JNI NDK中需要开发人员自行处理异常。
工具/原料
1
Android Studio
2
Cmake
方法/步骤
1
捕获异常:JNI接口提供了一组与异常相关的函数集。在程序运行期间可以使用Java类查看这些函数。首先我们需要定义一个包含异常方法的Java类,如图:抛出异常的java方法
2
在JNI中提供了ExceptionOccurred函数查询挂起的异常。如图:查询异常
3
使用完成之后要使用Clear清理异常,具体的方法是ExceptionClear。如图3Clear清理异常
4
在JNI中也可以抛出异常,因为异常方法在Java层,我们要使用FindClass函数找到抛出异常的方法。如图:找到抛出异常的方法
5
如果要抛出异常,需要使用JNI函数ThrowNew函数进行处理。如图:ThrowNew函数抛出异常处理
6
在使用完JNI之后记得清理已经获取的资源。如图:处理异常资源
注意事项
ExceptionOccurred和ExceptionClear要成对使用。记得清理必要的资源。
下一篇:塞尔达传说dlc怎么买