我正在从c ++程序内部运行二进制文件。 我试图提出一些重试逻辑,以防程序失败并返回主函数之前失败。 我正在捕获我定义的异常类,并基于该异常类执行重试逻辑,否则我将抛出该异常类以终止程序。
代码运行正常,但是当另一个二进制文件正在运行时(当我中止程序时)按(ctrl + C)时出现问题。 它将异常视为我定义的异常,并执行try逻辑,这是错误的,因为我们要中止程序而不是重试。
在这种情况下如何处理中止案件?
void run(){
try{
if(!runOtherBinary())
throw binaryexception(message);
}catch(binaryexception& e){
someretrylogic();
}catch(...){
throw;
}
}
int main(){
try{
run();
}
catch(binaryexception& e){
}catch(...){
}
}