2
如果JNI dll拋出Java異常,並且java方法定義沒有聲明該異常(沒有拋出子句),會發生什麼?JNI中未聲明的異常
代碼:
private native void jniDoSomething(int someValue);
如果JNI dll拋出Java異常,並且java方法定義沒有聲明該異常(沒有拋出子句),會發生什麼?JNI中未聲明的異常
代碼:
private native void jniDoSomething(int someValue);
異常會被拋出反正。 剛剛檢查過。
我認爲這樣的行爲是因爲throws
關鍵字無論如何不影響本機代碼。沒有能力檢查本地代碼是否會引發相應的異常,甚至在頭文件中也沒有提及異常。
Class.newInstance()方法存在類似的問題,它也允許拋出未聲明的異常。 – iirekm 2010-11-29 14:45:47