译注:我们可以配置VS2005从而不显示First Chance异常信息。具体操作见下:
在output窗口右击,在弹出的菜单中不勾选Exception messages选项,这样在output窗口就看不到First Chance异常信息了。
---------------------------------------------------------------
First Chance Exception是什么东东?
作者:DavidKlineMS 翻译:飘飘白云(kesalin@gmail.com)
原文链接:http://blogs.msdn.com/davidklinems/archive/2005/07/12/438061.aspx
调试应用程序的时候,你有没有在output窗口看到过“First chance”这样的异常消息?
有曾思考过:
- first chance exception 是什么东东?
- 出现 first chance exception 意味着我的代码有问题么?
first chance exception 是什么东东?
调试应用程序的时候,如果引发了异常,那么调试器就会得到通知。这样,应用程序被挂起,由调试器决定如何来处理这个异常。这种机制的第一步被称之为 “first chance” 异常。根据调试器的配置,要么让应用程序继续运行并传递这个异常,要么让应用程序保持挂起状态并进入调试模式。如果应用程序处理了异常,那么应用程序将继续正常运行。
在Visual Studio里你可能会看到类似如下面这样的信息:
myapp.exe引发了 'System.ApplicationException'
类型的
A first chance
异常。
在 Visual Studio 2005 Beta2中,每当引发一个 first chance exception的时候,你就会看到这条信息。如果你使用的是 Visual Studio .NET 2003,只有你设置了当抛出特殊异常让调试器暂停你才会看到这条消息。
如何应用程序没有处理这些异常(first chance exception),调试器会再次被通知,这就是所谓的 "second chance" 异常。调试器再次挂起应用程序并决定如何处理异常。通常,调试器被设置成在抛出 "second chance" 异常时挂起并进入调试模式,从而允许你进行调试。
出现 first chance exception 意味着我的代码有问题么?
First chance exception 大都时候并不意味着代码有问题。对那些优雅地处理异常的应用程序与组件来说,First chance exception 信息让开发人员知晓一个异常被引发了并且被处理了。如果代码没有对异常进行处理,调试器将会收到 second chance exception 通知并被未处理的异常暂停掉。
Take care!
-- DK
Published Tuesday, July 12, 2005 11:16 AM by DavidKlineMS
Filed under: Debugging