简体   繁体   中英

Can you get Method name that threw Exception?

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.

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM