Share this page 

Throw my own Exception (from JNI code)Tag(s): JNI

The MyOwnException class
public class MyOwnException extends Exception {
  public MyOwnException(){}
  public MyOwnException(String txt) {
the prototype in the header file
JNIEXPORT void JNICALL Java_JavaHowTo_triggerException
  (JNIEnv *, jobject);
the JNI function
JNIEXPORT void JNICALL Java_JavaHowTo_triggerException
  (JNIEnv *env, jobject obj) {
    jclass MyOwnException = env->FindClass("MyOwnException");
    env->ThrowNew(MyOwnException,"Exception triggered from JNI routine.");
The Java JNI wrapper would be
class JavaHowTo {
  public native void triggerException();
  static {
And finally, to use it
public class JNIJavaHowTo {
  public static void main(String[] args) {
    JavaHowTo jht = new JavaHowTo();