忽略在`OnLoad`方法中引发的异常?

时间:2013-09-26 15:59:49

标签: c# winforms .net-4.5

我有这段代码

partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    protected override void OnLoad(EventArgs e)
    {
        throw new InvalidOperationException();
        base.OnLoad(e);
    }
}

程序运行正常,我在OnLoad(EventArgs e)抛出的异常完全被忽略。我已经在VS2012 .NET 4.5中测试了它的调试和发布模式,结果相同。这是正常的,如果是这样的原因?

1 个答案:

答案 0 :(得分:4)

这是因为你的VS中有Exceptions option。如果您查看Output窗口,您会看到有一条消息打印出来像类型'System.InvalidOperationException'的第一次机会异常发生在......

要启用投掷例外,您可以转到调试 - >例外 - >公共语言运行时异常,然后您可以扩展命名空间并找到所需的异常,在您的情况下为System.InvalidOperationException。然后查看Thrown列中的Thrown

enter image description here