有没有办法暂时禁用 Visual C++ 中的第一次机会异常?
像这样:
void someFunc() {
disableFirstChanceExceptions();
try {
// some code
}
catch (std::exception& e) {
// some code
}
catch (...) {
// some code
}
enableFirstChanceExceptions();
}
我知道什么是第一次机会异常(exception)以及如何使用它们。
问题是,我正在分发一个 DLL,其中使用了异常。
不幸的是,如果客户在他的程序中使用调试器,他会注意到我的实习生异常。
不是我想隐藏它们,更多的是我想摆脱这些支持问题。
最佳答案
- 您的代码抛出异常。
- 您的客户坚持针对您的代码运行调试器,并且明确地将其配置为在第一次出现异常时中断。
你基本上有两个选择:
- 不要抛出异常,或者
- 忽略客户的愚蠢行为。你的代码在内部做什么与他们无关只要它按预期工作。
我建议后者。如果他们遇到在第三方代码中抛出和捕获异常的问题,他们将发现自己无法使用很多 库。他们需要长大并开始表现得好像他们知道自己在做什么。
关于c++ - 暂时禁用第一次机会异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822468/