为什么这个catch块没有捕获抛出的异常?

时间:2011-12-13 15:23:03

标签: c# exception-handling

我有这段代码:

private void btn1_Click(object sender, EventArgs e)
{
    try
    {
        Thrower();
    }
    catch
    {
        MessageBox.Show("exception caught");
    }
}

调用此方法:

private void Thrower()
{
    throw new OverflowException();
}

在异常处理方面,我不是很有经验,但我认为这个消息框(“异常捕获”)会显示在这里。它没有。应该是吗?如果没有,我做错了什么?我误解了这应该如何起作用吗?

感谢。

2 个答案:

答案 0 :(得分:9)

我对此进行了测试,它对我来说很好。您确定确实实际调用了btn1_Click方法吗?也许你忘记了你的活动?

答案 1 :(得分:1)

在你的try / catch中放一个断点,看它是否进入那里(它不是)