你能得到引发异常的方法名吗?

时间:2013-05-21 09:18:13

标签: c# .net exception stack-trace

是否有一个C#方法返回到最上面的调用者,我的方法的名称引发异常,即使另一个人抛出实际异常 (例如,当我的方法调用它时,数据库驱动程序错误)?

来电者 - > MyMethod - > DbDriver(误差)

我想要“MyMethod”,而不是“DbDriver”

我宁愿不在链条上一直重新抛出异常。

我当前的kludge,是迭代StackTrace帧,并使用MethodBase.GetCurrentMethod().DeclaringType解析我的方法。

是否有内置方法来获取此信息或更优雅的解决方案?

谢谢!

2 个答案:

答案 0 :(得分:16)

使用Exception.TargetSite属性获取方法名称

  

获取抛出当前异常的方法。

答案 1 :(得分:0)