![]() |
1
2
并不是所有的错误都会引发C++异常,这些异常会被C++尝试捕获机制捕获。例如,除以零不会引发C++异常,但会导致未定义的行为,这可能会使您的应用程序退出。 但是,您的代码可能是抛出不是STD::异常的东西,所以您可能想重写:
它会处理像
而且,与问题无关,通常应该通过const引用捕获异常。 |
![]() |
2
1
是的,SEH例外。要抓住他们你要么用
|
![]() |
3
1
找到问题的最简单方法是在调试器下运行应用程序,并在win32异常上启用中断。每当遇到win32异常时,应用程序都会闯入调试器,您可以找出哪里出错了。 如果不进行调试并要捕获win32结构化异常,则必须使用 _set_se_translator 用于设置转换函数的API。每当有Win32异常时,就会调用注册函数,并有机会将其转换为您选择的C++异常。 |
![]() |
4
1
它不捕获C++异常。
不
从那个类派生(如果我是
Windows使用结构化异常处理(SEH)来发出错误,而这些错误并不是用普通C++来捕获的。
The docs 对如何捕获seh异常有一个很好的解释。 |
![]() |
5
0
我发现了一条重要线索。使用close handle函数关闭句柄时,线程将以代码0xcccccccc退出。在这条线索的帮助下,我意识到在非常罕见的情况下,即使线程在工作,我也会关闭线程的句柄。为什么它会在连接时退出?这也有一个解释,但它与代码的结构有关,这里可能很难解释。 谢谢大家,在例外问题上和我一起集思广益:$。 |
|
vini · 安装wfp内核驱动程序后,devcon状态返回39 3 年前 |
![]() |
I101I · 如何镜像HBITMAP 3 年前 |
![]() |
E235 · 如何查看谁创建了Windows NamedPipe 3 年前 |
![]() |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 3 年前 |
![]() |
Jabu · 如何获取列表框滚动条“拇指”的高度? 3 年前 |
![]() |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 3 年前 |
![]() |
Penachia · PDF FontDescriptor标志 7 年前 |