Is there a C# method that returns to the upper-most caller, the Name of MY Method that threw an exception, even if the actual exception was thrown by another (eg database driver errors when my method calls it) ?
Caller -> MyMethod -> DbDriver(error)
I want "MyMethod", not "DbDriver"
I'd rather not re-throw exceptions all the way up the chain.
My current kludge, is to iterate through the StackTrace frames, and parse out my Method using MethodBase.GetCurrentMethod().DeclaringType
.
Is there a built-in method to get this information or a more elegant solution?
Thanks!
Use Exception.TargetSite
property to get the method name
Gets the method that throws the current exception.
You need the stack trace ability.
http://msdn.microsoft.com/de-de/library/system.environment.stacktrace(v=vs.80).aspx
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.