你能得到抛出异常的方法名吗
本文关键字:方法 抛出异常 | 更新日期: 2023-09-27 18:14:28
是否有一个c#方法返回到最上层的调用者,我的方法抛出异常的名称,即使实际异常是由另一个抛出的(例如,当我的方法调用它时数据库驱动程序错误)?
调用者- - -> MyMethod -> DbDriver(错误)
我想要"MyMethod",而不是"DbDriver"
我宁愿不重新抛出异常的所有方式的链。
我当前的组装,是迭代StackTrace帧,并使用MethodBase.GetCurrentMethod().DeclaringType
解析出我的方法。
是否有一个内置的方法来获取这些信息或一个更优雅的解决方案?
谢谢!
使用Exception.TargetSite
属性获取方法名
获取引发当前异常的方法。
您需要堆栈跟踪能力。
http://msdn.microsoft.com/de-de/library/system.environment.stacktrace (v = vs.80) . aspx