C#调用Exception TargetSite

时间:2017-05-24 19:10:46

标签: c# reflection

我有一个应用程序,有时可以抛出一个异常,大部分都被处理但我希望未处理的可以恢复。所以我试图通过像这样使用异常的目标来调用导致异常的方法:

        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没有任何参数,因此不应该发生这种情况。

有什么想法吗?

0 个答案:

没有答案