我需要从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/