java - JNI,在 jobect 和 jthrowable 之间转换

标签 java exception java-native-interface

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

ThrowNew(jclass clazz, const char *msg)

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

public class MyException extends Exception

包含代码的另一个属性。但是 JNI 接口(interface)只有

的声明
Throw(jthrowable obj)

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

最佳答案

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

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

相关文章:

android - 链接到共享库时防止函数从静态库中剥离?

android - 如何在 Google Play 中分发 ARCH 的 apk?

java - CompareTo 方法如何与 array.sort 一起使用来对数组进行排序?

c++ - 在 Visual Studio C++ Debug模式中捕获异常的最佳方法仅在从 IDE 运行时发生

java - 如何让我的图像停止重复随机生成坐标边界值?

python - 如何退出 Python 函数,在不退出 Python 解释器的情况下抛出错误语句

c++ - 在堆栈展开时使用 RAII 是否安全?

java - JNI中从tomcat调用类的问题

java - 计算小数的函数

java - 图像尺寸变小