我想知道如何处理我从c ++代码调用exe的内部异常?
我的示例代码:
char *fProg = "..\\ConsoleApp\\EZF\\EncryptZipFtp.exe";
char *fPath = "C:\\Users\\min\\Desktop\\Foto";
char *fPass = "wxRfsdMKH1994wxRMK";
char command[500];
sprintf (command, "%s %s %s", fProg, fPath, fPass);
try
{
system(command);
}
catch(exception &err)
{
}
答案 0 :(得分:3)
您需要检查system()
的返回值(因为您需要检查所有C函数的返回值)。像这样:
int status = system(command);
if (status == -1)
std::cerr << "oops, could not launch " << command << std::endl;
int rc = WEXITSTATUS(status);
if (rc != 0)
std::cerr << "error from " << command << ": " << rc << std::endl;
如果子程序表现良好,则在发生未处理的异常时,它将返回非零值以指示失败。