Visual Studio的调试功能非常强大。当异常发生的时候,能够自动定位到异常发生的地方。但是如果你在代码外层显式的加上了Try-Catch异常捕获的时候,默认情况下,Visual Studio会直接跳到异常处理代码块,而不是出现异常的代码行。
namespace BreakOnException
{
class Program
{
static void Main(string[] args)
{
try
{
Program p = null;
Console.WriteLine(p.GetHashCode());
}
catch (System.Exception ex)
{
}
}
}
}
上面的代码会抛出经典的NullReferrenceException。但是当你在调试状态下运行时,Visual Studio会将代码停在catch这一行,而不是Console.WriteLine这一行。

本文介绍了在Visual Studio 2010中,如何在使用Try-Catch捕获异常时,让调试器自动定位到异常发生的具体代码行,而非处理代码块。通过设置Debug菜单的Exception选项,勾选CLR异常的Thrown列,能有效帮助开发者快速找到深层函数调用中的错误源。
最低0.47元/天 解锁文章
4442

被折叠的 条评论
为什么被折叠?



