gpt4 book ai didi

java - 如何捕捉sdbus::Error exception in c++?

转载 作者:行者123 更新时间:2023-12-03 09:07:45 24 4
gpt4 key购买 nike

我是C++的新手。我正在尝试使用jni处理我的Java应用程序中可能发生的一些错误。这是我的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 called after throwing an instance of 'sdbus::Error'


和其他一些文字。此外,该应用程序也停止了。据我了解,在catch块中,我可以捕获任何错误,但是没有发生。为什么?以及如何捕获任何错误?

最佳答案

最后,我写了一个解决方案。多谢您的回覆。

     std::future<lib::LibVector> libVectorFuture;

try {
libVectorFuture = some::lib::getVector(param1, param2);
lib::LibVector vector = libVectorFuture.get(); // here I get error
} 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!");
return nullptr;
}

关于java - 如何捕捉sdbus::Error exception in c++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63231310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com