什么是“第一次机会例外”?

时间:2009-02-19 10:33:35

标签: .net visual-studio debugging exception first-chance-exception

第一次机会异常究竟是什么?它是如何以及在何处从.NET程序中产生的?为什么用这个特殊的名字来称呼(我们谈论的是什么'机会')?

5 个答案:

答案 0 :(得分:71)

这是一个调试概念。基本上会将异常抛出到调试器首先,然后抛到实际的程序,如果它没有被处理,它会被调到第二时间,给你一个机会在应用程序本身之前和之后在IDE中执行某些操作。这似乎是Microsoft Visual Studio的发明。

答案 1 :(得分:16)

抛出异常时会引发第一次机会异常通知。第二次机会通知是在没有被抓住的时候。 (机会 - 就像在调试器中闯入代码的机会一样)。

First and second chance exception handling

答案 2 :(得分:4)

我刚开始使用调试器并遇到了这个问题。在我的研究中,我发现MSDN博客文章 What is a First Chance Exception? 为我清理了它。

对我来说,博客文章中的重要内容是它指向调试器的通知,而不是我的代码必须处理的内容,最重要的是,"第一次机会异常消息通常并不意味着代码中存在问题。"

答案 3 :(得分:0)

在调试应用程序时,只要遇到异常,调试器就会得到通知。此时,应用程序暂停,调试器决定如何处理异常。第一次通过这种机制被称为“第一次机会”例外。

根据调试器的配置,它将恢复应用程序并传递异常,否则将使应用程序暂停并进入调试模式。如果应用程序处理异常,它将继续正常运行。

第一次机会异常消息通常并不意味着代码中存在问题。对于优雅处理异常的应用程序/组件,第一次机会异常消息让开发人员知道遇到并处理了异常情况。

答案 4 :(得分:0)

从开发人员的角度来看,它更关注第二次机会异常,因为它意味着它没有在代码中处理;因此申请将停止。

第一次机会可能是其中很多,但从发展的角度来看,更多关注的是第二次机会,因为它会导致应用程序崩溃。