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

C# 为什么这个catch块没有捕获抛出的异常?,c#,exception-handling,C#,Exception Handling,我有以下代码: private void btn1_Click(object sender, EventArgs e) { try { Thrower(); } catch { MessageBox.Show("exception caught"); } } 它调用此方法: private void Thrower() { throw new OverflowException(); } 我在异常处理方面

我有以下代码:

private void btn1_Click(object sender, EventArgs e)
{
    try
    {
        Thrower();
    }
    catch
    {
        MessageBox.Show("exception caught");
    }
}
它调用此方法:

private void Thrower()
{
    throw new OverflowException();
}
我在异常处理方面不是很有经验,但我原以为这里会显示这个消息框(“异常捕获”)。没有。应该是吗?如果没有,我做错了什么?我是否误解了这是怎么回事


谢谢。

在您的try/catch中设置一个断点,看看它是否进入了那里(它不是)

我测试了这个,它对我来说运行良好。您确定确实调用了
btn1\u Click
方法吗?也许你忘了连接你的活动?

你在点击按钮吗?您是否确保事件处理程序已连接?您是否确实创建并抛出了自己的
OverflowException
,还是希望有一行代码为您抛出它?也许操作实际上没有溢出?可能您没有在选中的
上下文中操作,或者没有添加MessageBox.Show(“就在抛出者()之前;”);在投掷者之前();那是。。。令人尴尬的我只能感谢你的时间,谴责我自己的愚蠢。