如何在'catch(...)'中获取异常信息

How to get the exception information in 'catch(...)'

本文关键字:获取 信息 异常 catch      更新时间:2023-10-16

在C++中,我们可以通过catch(bad_cast& ex)获取异常信息,然后输出ex.what() 的内容

try{
     //…
}catch(std::bad_alloc& e)
{
    cout << “Catch bad alloc exception ” << e.what() << endl;
}
catch(std::bad_cast& e)
{
    cout << “Catch bad alloc exception ” << e.what() << endl;
}
catch(std::bad_exception& e)
{
    cout << “Catch bad alloc exception ” << e.what() << endl;
}
// catch more exception types here
// … 
catch(...)
{
    // how to get the content of unknown exception?
}

如何从catch(...)中获取异常信息

这不是语言本身所能做到的。

...的字面意思是"任何东西"。

您可以安全地对"任何东西"进行哪些操作?在任何情况下,您都需要一个类型进行检查。这说明你已经做了更多的事情。