gpt4 book ai didi

visual-studio-2010 - 什么是第一次机会异常(exception)?

转载 作者:行者123 更新时间:2023-12-01 11:40:08 25 4
gpt4 key购买 nike

我得到一个 First-chance exception at 0x75FA2EEC in x.exe: Microsoft C++ exception: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::property_tree::ptree_bad_path> > at memory location 0x006AE774 .

在我的代码中,我认为我已经处理了它们:

const ptree& v;
std::string value;
try { value = v.get<std::string>("<xmlattr>.Value"); }
catch(ptree_bad_path&) { value = v.get_value<std::string>(); }

(根据 docs .)

那么为什么我会收到错误消息?

似乎只是忽略错误并继续执行。

最佳答案

So why do I get the error?

这不是错误,只是调试器通知。有几种,例如,您还会在线程退出或加载 DLL 或程序终止时看到通知。这些是程序中通常会对程序产生很大影响的事件类型,C++ 异常是异常事件,因此调试器会让您了解这一点。

“第一次机会”异常不必变成会中止程序的未处理异常。它没有,你在你的代码中写了 try/catch 并捕获了异常。仍然很高兴知道这一点,也许您的 catch 处理被破坏并且您的程序行为不端。这很常见,因为异常应该是异常的,所以不要经常进行测试。您可以使用 Debug + Exceptions 来做到这一点,为 C++ 异常勾选 Thrown 复选框。调试器现在会在第一次出现异常通知时自动中断程序,让您有机会找出引发异常的确切原因。非常有用。

您不必查看这些通知,右键单击“输出”窗口并取消选中“异常消息”选项。

功能,不是错误。

关于visual-studio-2010 - 什么是第一次机会异常(exception)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22037933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com