|
|
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退出。在这条线索的帮助下,我意识到在非常罕见的情况下,即使线程在工作,我也会关闭线程的句柄。为什么它会在连接时退出?这也有一个解释,但它与代码的结构有关,这里可能很难解释。 谢谢大家,在例外问题上和我一起集思广益:$。 |
|
AstralHex · 矩阵乘法代码工作不正常 8 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 8 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 8 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 8 月前 |