| 839 | |
| 840 | |
| 841 | void Jvm::check(JNIEnv* env) |
| 842 | { |
| 843 | if (env->ExceptionCheck() == JNI_TRUE) { |
| 844 | if (!exceptions) { |
| 845 | env->ExceptionDescribe(); |
| 846 | EXIT(EXIT_FAILURE) << "Caught a JVM exception, not propagating"; |
| 847 | } else { |
| 848 | java::lang::Throwable throwable; |
| 849 | Object* object = &throwable; |
| 850 | object->object = env->ExceptionOccurred(); |
| 851 | env->ExceptionClear(); |
| 852 | throw throwable; |
| 853 | } |
| 854 | } |
| 855 | } |
| 856 | |
| 857 | |
| 858 | // N.B. Both Jvm::invoke<void> and Jvm::invokeStatic<void> template |
no outgoing calls