我需要从C ++代码引发异常。引发的异常必须包含错误的文本和代码。
如此常见的形式:

ThrowNew(jclass clazz, const char *msg)


不适用。这就是为什么我要创建自己的Java类实例:

public class MyException extends Exception


包含另一个代码属性。但是JNI接口只声明了

Throw(jthrowable obj)


将MyException的实例强制转换为jthrowable是否正确?

最佳答案

对于JVM,jthrowable是java.lang.Throwable的一个实例,因此,如果您在JNI代码中实例化异常并将其强制转换,则它应该可以工作。

关于java - JNI,介于jobect和jthrowable之间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2455668/

10-09 19:37