Я новичок в C ++. Я пытаюсь обработать некоторые ошибки, которые могут возникнуть в моем приложении java с помощью jni. Это мой блок try / catch:
std::future<lib::LibVector> libVectorFuture;
try {
libVectorFuture = some::lib::getVector(param1, param2);
} catch (...) {
// report problem back to Java.
jclass Exception = env->FindClass("com/my/MyClientException");
env->ThrowNew(Exception, "Unable to get result from native getVector(String p1, String p2) method!");
}
lib::LibVector vector = libVectorFuture.get();
// here I'm using vector
Он работает, когда я использую допустимые параметры (param1, param2). Но когда я использую недопустимые параметры, я получаю сообщение об ошибке:
terminate вызывается после создания экземпляра 'sdbus :: Error'
и некоторого другого текста. Также приложение остановилось. Насколько я понимаю, в блоке catch я могу отловить любую ошибку, но этого не происходит. Зачем? А как отловить любую ошибку?