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

Eur*_*kus 3 .net c# exception stack-trace

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

来电 - > MyMethod - > DbDriver(错误)

我想要"MyMethod",而不是"DbDriver"

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

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

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

谢谢!

Hab*_*bib 16

使用Exception.TargetSiteproperty获取方法名称

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