Когда возникает исключение (во время отладки в среде IDE), у меня есть возможность просмотреть подробности исключение:
Но в коде, если я вызываю exception.ToString ()
, я не вижу этих полезных деталей:
System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'FetchActiveUsers'.
[...snip stack trace...]
Но в Visual Studio есть некоторая магия, где она может скопировать исключение в буфер обмена :
Что дает полезную информацию:
System.Data.SqlClient.SqlException was unhandled by user code
Message=Could not find stored procedure 'FetchActiveUsers'.
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
Class=16
LineNumber=1
Number=2812
Procedure=""
Server=vader
State=62
StackTrace:
[...snip stack trace...]
InnerException:
Что ж, я хочу это!
Каким будет содержание:
String ExceptionToString(Exception ex)
{
//todo: Write useful routine
return ex.ToString();
}
, способного творить ту же магию. Есть ли где-нибудь встроенная функция .NET? Есть ли у Exception
секретный метод для преобразования его в строку?