众所周知,JNI中的许多方法可能会导致异常,并且在导致JVM崩溃的异常之后无法调用。我们不仅可以使用ExceptionOccurred()或ExceptionCheck()来确定是否发生异常,还可以简单地检查不等于NULL或0的内容。哪种方式是最佳实践?
答案 0 :(得分:1)
由于你只是要求“最佳实践”,答案非常简单:
ExceptionCheck
或ExceptionOccurred
。在每次JNI呼叫后呼叫ExceptionOccurred
,最好是在专用功能中,您可以获取有关异常的一些信息,以便记录,还可以拨打ExceptionClear
。
使专用函数返回void,并使用JNI函数的返回值来区分正常和错误路径。