-3

当我为 TextBox 制作 LostFocus 事件时,NotImplementedException()添加了一个。我如何捕捉到这个异常?我的代码是:

void marks_LostFocus(object sender, EventArgs e)
{
    throw new NotImplementedException();
}

已编辑

我很抱歉不清楚我想问的问题是,当我创建 lostFocus 事件时,VS 会自动添加这一行。从学术上讲。我在哪里可以捕捉到这个异常以及它的用途。为什么VS会自动添加这一行

4

4 回答 4

1

将它包裹在try/catch周围?

void marks_LostFocus(object sender, EventArgs e)
{ 
    try
    {
        throw new NotImplementedException();
    }
    catch(Exception ex)
    {
        // handle ex
    }
}
于 2013-03-27T08:37:29.330 回答
0

只有触发事件的方法才能捕获订阅者方法抛出的所有未处理的异常。您还可以使用一个备用解决方案:

订阅Application.ThreadException事件。

在 Program.cs 中:

Application.ThreadException += OnThreadException


private static void OnThreadException(object sender, ThreadExceptionEventArgs e)
{
    MessageBox.Show(e.Exception.ToString());
}
于 2013-03-27T08:38:01.557 回答
0

首先 - 你可以实现这个方法。

但是,如果您想处理未处理的异常,您可以尝试使用您的或任何其他全局异常处理程序的未处理异常事件AppDomain

于 2013-03-27T08:39:51.570 回答
0

处理程序本身捕获这个异常是没有意义的——通过调用代码来管理它可能是有意义的。但是,您似乎根本不需要它。鉴于我在其中看到的上下文,它完全没有任何用途 - 您可以通过删除代码来防止此异常。

您在此块中所做的是实现您自己的逻辑。也就是说,你实现它。

于 2013-03-27T08:45:15.773 回答