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(“就在抛出者()之前;”);在投掷者之前();那是。。。令人尴尬的我只能感谢你的时间,谴责我自己的愚蠢。