什么是第一次机会例外?它是如何以及从何处起源于 .NET 程序的?为什么用那个特殊的名字来称呼它(我们在谈论什么“机会”)?
5 回答
这是一个调试概念。基本上异常首先被抛出到调试器,然后到实际程序,如果它没有被处理,它会第二次被抛出到调试器,让你有机会在应用程序之前和之后在你的 IDE 中对它做一些事情本身。这似乎是 Microsoft Visual Studio 的一项发明。
抛出异常时会引发第一次机会异常通知。第二次机会通知是当它没有被捕获时。(机会——有机会闯入调试器中的代码)。
我刚开始使用调试器并遇到了这个问题。在我的研究中,我发现了 MSDN 博客文章什么是第一次机会异常?这为我清除了它。
对我来说,这篇博文的最大收获是它指的是对调试器的通知,而不是我的代码必须处理的事情,最重要的是,
“第一次机会异常消息通常并不意味着代码中存在问题。”
调试应用程序时,只要遇到异常,调试器就会收到通知。此时,应用程序被挂起,调试器决定如何处理异常。第一次通过这种机制称为“第一次机会”异常。
根据调试器的配置,它要么恢复应用程序并传递异常,要么让应用程序暂停并进入调试模式。如果应用程序处理了异常,它会继续正常运行。
首次机会异常消息通常并不意味着代码中存在问题。对于优雅地处理异常的应用程序/组件,第一次机会异常消息让开发人员知道遇到并处理了异常情况。
从开发人员的角度来看,它更多地涉及第二次机会异常,因为这意味着它没有在代码中处理;因此应用程序将停止。
第一次机会可能有很多,但是从开发的角度来看,需要更多关注的是第二次机会,因为它会导致应用程序崩溃。