我有一个应用程序,有时可以抛出一个异常,大部分都被处理但我希望未处理的可以恢复。所以我试图通过像这样使用异常的目标来调用导致异常的方法:
Exception ex = Global.ThrownException;
MethodBase mB = ex.TargetSite;
try
{
mB.Invoke(mB, null);
}
catch(Exception exc)
{
System.Windows.MessageBox.Show(exc.Message);
}
我这样做是为了确保在再次向用户显示窗口之前异常是一次性错误。
我尝试调用的测试方法(以及异常目标)是:
public void testMethod()
{
throw new System.IO.IOException("test");
}
当我运行它时,会抛出一个异常消息"对象与目标类型不匹配"但由于testMethod没有任何参数,因此不应该发生这种情况。
有什么想法吗?