我如何捕获C++异常?

Mik*_*ras 1 c++ exception-handling

在我的C++应用程序中,我正在调用System(),有时会崩溃应用程序(这是一项服务).我想捕获抛出的异常并记录它.我不知道究竟要抓到什么,我甚至不能做一揽子:

try
{
   system(myCommand);
}
catch (...)
{
   Log("Error!"); // this is a custom log method
}
Run Code Online (Sandbox Code Playgroud)

这不记录任何事情.不应该抓住每种类型的例外吗?更重要的是,我如何知道System()方法将抛出什么以便我知道要捕获什么?

mea*_*gar 9

如果catch(...)没有捕获异常,则不会抛出异常.并非所有错误都会引发异常 system从C时代开始就是一个延续,绝对不会引起任何例外.