gpt4 book ai didi

c++ - catch(...) 实际上捕获所有异常吗?

转载 作者:可可西里 更新时间:2023-11-01 09:46:08 28 4
gpt4 key购买 nike

我看到 catch (...) 没有捕获所有异常,并且向最终用户抛出了一个恼人的弹出窗口。

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";
}

我正在使用 Visual Studio 2005、Windows XP。

注意:代码是有意产生异常的。这是一个测试代码

最佳答案

您的代码可能会产生访问冲突,这在 VC++ 中不会成为标准异常,它们属于结构化异常领域,您也可以捕获这种异常,但需要使用不同的机制:

关于c++ - catch(...) 实际上捕获所有异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207910/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com