【发布时间】:2020-02-10 06:32:56
【问题描述】:
当我调用env->ThrowNew(clazz, "...")时,C++/C方法的后续执行会停止还是我必须自己停止?
// This is the method which checks if a class can be loaded.
static inline jclass _check_find_class(JNIEnv* env, char* name) {
jclass clazz = env->FindClass(name);
if (clazz == NULL) {
env->ThrowNew(env->FindClass("java/lang/NoClassDefFoundError"), message);
}
return clazz;
}
// This method is called in other functions like
jclass load_main_class(JNIEnv* env) {
auto clazz = _check_find_class(env, "class/which/cannot/be/loaded");
do_stuff(env, clazz);
return clazz;
}
当我调用load_main_class 方法时会发生什么,它无法找到类并调用ThrowNew 方法?
【问题讨论】:
标签: java c++ java-native-interface