c++ - 暂时禁用第一次机会异常

标签 c++ visual-studio visual-c++ exception first-chance-exception

有没有办法暂时禁用 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/

相关文章:

c++ - 需要对结构容器中的字段进行总计

C++检查特定进程是否正在运行

css - WebEssentials 较少支持不起作用

c++ - 使用 C++ 模板类方法的 C 回调

c++ - 将线程的结果转储到 vector 中是否线程安全?

visual-studio - 无法使用 Visual Studio 2019 部署我的 Azure Web 应用程序

c++ - VS 2010 的行计数器

c++ - 从 BYTE 数组中读取 32 位整数。 VC++

visual-c++ - 如何在 VC++ 10.0 中链接 msvcrt.dll 而不是 msvcr100.dll?

visual-studio - 如何从命令行编译 MSVC 项目中的单个源文件?