我们知道,JNI 中的很多方法都可能会引发异常,并且异常引发后无法调用,从而可能导致 JVM 崩溃。我们不仅可以使用 ExceptionOccurred() 或 ExceptionCheck() 来确定是否发生异常,还可以简单地检查不等于 NULL 或 0 的内容。哪种方法是最佳实践?
由于您只要求“最佳实践”,答案非常简单:
-
always call
ExceptionCheck
or ExceptionOccurred
调用可能引发异常的 JNI 函数时。
-
always检查 JNI 函数的返回值
Calling ExceptionOccurred
在每次 JNI 调用之后,最好是在专用函数中,允许您获取有关异常的一些信息以进行日志记录,并且还允许您调用ExceptionClear
.
使专用函数返回 void,并使用 JNI 函数的返回值来区分正常路径和错误路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)