Я запускаю двоичный файл изнутри моей программы на С ++.Я пытаюсь создать некоторую логику повторных попыток на случай, если произойдет сбой до того, как произойдет сбой программы и произойдет возврат основного.Я ловлю класс исключения, который я определил, и на его основе я выполняю логику повторных попыток, иначе я выкидываю в main, чтобы завершить программу.
Код работает нормально, но у меня возникают проблемы при нажатии (Ctrl+ C) пока работает другой двоичный файл (когда я прекращаю работу программы).Он обрабатывает исключение как мое определенное исключение и выполняет логику попытки, которая является неправильной, поскольку мы хотим прервать программу, а не повторять попытку.
Как я могу обработать случай прерывания в этой ситуации?
void run(){
try{
if(!runOtherBinary())
throw binaryexception(message);
}catch(binaryexception& e){
someretrylogic();
}catch(...){
throw;
}
}
int main(){
try{
run();
}
catch(binaryexception& e){
}catch(...){
}
}