2010-11-29 48 views
2

如果JNI dll抛出Java异常,并且java方法定义没有声明该异常(没有抛出子句),会发生什么?JNI中未声明的异常

代码:

private native void jniDoSomething(int someValue); 

回答

2

异常会被抛出反正。 刚刚检查过。

我认为这样的行为是因为throws关键字无论如何不影响本机代码。没有能力检查本地代码是否会引发相应的异常,甚至在头文件中也没有提及异常。

+0

Class.newInstance()方法存在类似的问题,它也允许抛出未声明的异常。 – iirekm 2010-11-29 14:45:47