博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通过MethodInfo.Invoke调用时使用的异常捕捉

Posted on 2009-01-22 19:16  懒人ABC  阅读(3469)  评论(1编辑  收藏  举报

通常我们调用一个方法,只要try,catch就可以捕捉到抛出的异常。

然而有时调用不固定的类的方法时,需要使用MethodInfo.Invoke方法。

但是该方法并不会原模原样的把抛出的信息返回,而是返回一个TargetInvocationException异常。

 

对于解决这个问题,我们可以直接使用该异常的InnerException,就可以获取原来的异常。

 

我们来实现一个中等异常的解析:

假如我们抛出一个FaultException<ClassName>类型的异常,

可以通过以下代码解析出内部的Class对象。

 

Code