暂时禁用第一次机会例外
Temporally disable first-chance exceptions
在Visual C++中有没有一种临时禁用首次机会异常的方法?
类似这样的东西:
void someFunc() {
disableFirstChanceExceptions();
try {
// some code
}
catch (std::exception& e) {
// some code
}
catch (...) {
// some code
}
enableFirstChanceExceptions();
}
我知道什么是第一次机会例外以及如何使用它们。
问题是,我正在分发一个DLL,其中使用了异常
不幸的是,如果客户在他的程序中使用调试器,他会注意到我的实习生异常
这并不是说我想隐藏它们,更多的是我想摆脱这些支持问题。
- 您的代码抛出异常
- 您的客户坚持对您的代码运行调试器,和明确地将其配置为在第一次出现异常时中断
你基本上有两个选择:
- 不要抛出异常,或者
- 忽略客户的愚蠢。您的代码在内部所做的与他们无关,只要它按预期运行
我建议后者。如果他们遇到在第三方代码中抛出和捕获异常的问题,他们会发现自己无法使用很多库。他们需要长大,开始表现得像他们知道自己在做什么。
第一次机会异常不能在代码中打开和关闭(只谈论windows、vs、c++链,不熟悉其他平台)。这是构建在运行时系统中的,以使调试成为可能。调试器可以被配置为忽略一些或所有首次出现的异常。您可以使用ctrl+alt+e调出VS调试器的异常处理行为菜单。这将允许调试客户端筛选调试器捕获的所需内容。
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 我必须构建我的项目 2 次,第一次失败,因为它无法打开库
- 是什么导致我的循环在第一次迭代中运行得更慢
- QLibrary 函数在第一次调用时工作缓慢
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 为什么第一次迭代后的指针指向随机值?
- 如何防止GUI挂起,同时允许第二次操作与Qt中的第一次操作一起执行
- LAPACK函数在第一次迭代后变慢
- 在Visual studio中调试javaScript.第一次机会例外
- 创建CFrameWnd会给出第一次机会的异常——为什么
- MSXML6 中的第一次机会异常
- 万神殿的第一次机会例外
- 错误地使用fprintf?获取异常 第一次机会异常
- 我的代码中的第一次机会异常
- 暂时禁用第一次机会例外
- Qt读取访问在以下位置发生冲突:0x0,标志=0x0(第一次机会)
- 为什么我得到第一次机会异常,如果没有人调用该函数
- 在0x5919c8ec (msvcr100d.dll)的第一次机会异常:0xC0000005:访问违反读取位置0xfee
- c++ OBJ解析器-第一次机会异常
- 此异常是什么意思>第一次机会异常在 Project3 中0x000007FEFD38A06D时未处理的异常.exe