我一直在寻找答案以了解try ...在附加了Application.ThreadException处理程序的应用程序中使用它时捕获行为。
因此,上下文是:
在main()中,我有:
Application.ThreadException += Application_ThreadException;
稍后,在某种形式的按钮单击事件中,我具有以下代码,以使用showdialog()启动另一种形式:
try
{
var secondForm = new(secondForm);
secondForm.ShowDialog(this);
}
catch (Exception ex)
{
///do somethind
}
问题是:如果我在main()上附加了一个Application.ThreadException事件处理程序,则上面代码中的try ... catch块什么也没捕获,并且执行了Application.ThreadException事件处理程序。 如果我删除了Application.ThreadException事件处理程序,请尝试... catch块按预期工作。
为什么?有解决方法吗?
注意:在这里,您在4年前有几乎相同的问题,但未回答: try catch not working properly in WinForms Application