【发布时间】:2013-02-03 14:39:18
【问题描述】:
我正在寻找一种可能(在一个或多个场景中)抛出/引发异常的 winapi 函数的分类。一个明显的例子是已关闭资源上的 CloseHandle。
【问题讨论】:
-
您的问题是什么?
-
CloseHandle不会抛出 C++ 意义上的异常。它与调试器一起工作。这就是你要找的分类吗? -
“异常”是指像 C++ 异常吗?没有一个 Windows API 是 C++ 函数,所以不会抛出异常!
-
Windows API 是 C,它们不会/不能抛出异常。
-
这不是一个明显的例子,CloseHandle 仅在您连接了调试器时引发 SEH。试图提醒您,您的代码容易受到回收攻击。 Win32 api 层不会引发异常。但也不会竭尽全力阻止它们,当您调用具有错误指针值的 api 函数时,您会被 SEH 打。就像你自己的代码会失败一样。
标签: c winapi exception-handling