Я новичок в C ++ и jni. Мне нужно вернуть исключение java как задание, а не jint. У меня есть метод, который возвращает задание. Поэтому я получаю ошибку компиляции при попытке вернуть ThrowNew:
JNIEXPORT jobject JNICALL Java_com_my_get(JNIEnv* env, jobject obj) {
some::SomeObject returnObject;
try {
//... trying to get returnObject by calling lib method
returnObject = some::lib::getSomeObject();
} catch (...) {
// report problem back to Java.
jclass Exception = env->FindClass("com/my/MyClientException");
return env->ThrowNew(Exception, "Error");
}
//... return returnObject mapped to jobject
}
java собственная часть:
public native MyJavaObject get(); // need object or exception
Ошибка компиляции:
ошибка: недопустимый преобразование из 'jint' {aka 'int'} в 'jobject' {aka '_jobject *'} [-fpermissive]
Как это сделать? Мне нужно остановить метод при возникновении ошибки.