Sat*_*bir 2 c++ windows stl visual-studio
我看到catch(...)没有捕获所有异常,并且在最终用户上抛出恼人的pop.
size_t pos;
char *ptrDir="c:\\test";
std::string strDir =
strDir.erase(strlen(ptrDir) - 1);
pos = strDir.find("Test");
try
{
std::string strPat = strDir.substr(pos);
}
catch(...)
{
std::cout<<"I am hiding Exception";
}
Run Code Online (Sandbox Code Playgroud)
我使用的是Visual Studio 2005,Windows XP.
注意:代码是故意生成异常.这是一个测试代码
您的代码可能会生成访问冲突,在VC++中不会成为标准异常,它们属于结构化异常,您也可以捕获但需要使用不同的机制:
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |