Das Java Native Interface ermöglicht es, Exceptions innerhalb der native Methoden zu
werfen und auch zu verarbeiten. Zusätzlich ist es jedoch möglich, Exceptions zur
Java Virtual Machine weiterzureichen. Hierbei wird der Typ jthrowable verwendet
und im Falle einer Exception wird diese durch die Methode ExceptionOccured zur
JVM weitergereicht. Nachfolgend ist ein Beispiel für die Verwendung des
jthrowable-Objekts zu sehen:
// Exception-Handling
jthrowable exception;
jclass NewException;
...
exception = env->ExceptionOccured();
if (exception) {
env->ExceptionDescribe();
env->ExceptionClear();
newException = env->FindClass("java/lang/NullPointerException");
if (NewException == 0) return; // Exception wird von Java nicht unterstützt
env->ThrowNew(newException, "JNI-Exception!");
\
...