如何在event方法中捕获异常
本文关键字:捕获异常 方法 event | 更新日期: 2023-09-27 18:05:59
当我为TextBox创建lostfocus事件时,添加了NotImplementedException()
。如何捕获此异常?我的代码是:
void marks_LostFocus(object sender, EventArgs e)
{
throw new NotImplementedException();
}
编辑我很抱歉不清楚我想问的问题是,当我创建一个lostFocus事件时,VS会自动添加这一行。学术演讲。我在哪里可以捕获这个异常,它的用途是什么。为什么VS会自动添加这一行
将try/catch?
void marks_LostFocus(object sender, EventArgs e)
{
try
{
throw new NotImplementedException();
}
catch(Exception ex)
{
// handle ex
}
}
只有触发事件的方法可以捕获订阅者方法抛出的所有未处理的异常。还有一个备用解决方案,您可以使用:
订阅应用程序。ThreadException事件。
在Program.cs:Application.ThreadException += OnThreadException
private static void OnThreadException(object sender, ThreadExceptionEventArgs e)
{
MessageBox.Show(e.Exception.ToString());
}
首先,你可以实现这个方法。
但是如果你想处理未处理的异常,你可以尝试使用AppDomain
的未处理异常事件或任何其他全局异常处理程序
在处理程序本身中从捕获这个异常是没有意义的——从调用代码中管理它是有意义的。然而,看起来你根本不需要它;考虑到我所看到的上下文,它完全没有作用——你可以通过删除代码来防止此异常。
你在这个块中所做的是实现你自己的逻辑。也就是说,你实现它。