ExtensionMethod.NET Home of 876 C#, Visual Basic, F# and Javascript extension methods


Sometimes it is required to collect exception information in textual format. This method serializes general info about exception and all included exceptions reccursively. I'm using this for sending email error reports.


public static string ToStringReccurent(this Exception exception)
	if (exception == null)
		return "empty";
	return string.Format
		("Exception: {0}\nMessage: {1}\nStack Trace: {2}\nInner {3}", exception.GetType(),
			exception.Message, exception.StackTrace, exception.InnerException.ToStringReccurent());


private void appDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
	e.Handled = true;
	MessageBox.Show("Application encountered an error, sorry for inconvinience.", "Error", MessageBoxButton.OK, MessageBoxImage.Hand);
	Process.Start(string.Format("mailto:{0}?subject={1}&body={2}", DeveloperEMail,
		"StatusFlags Exception", e.Exception.ToStringReccurent().UrlEncode()));

Author: Andriy Kvasnytsya

Submitted on: 22 mei 2009

Language: C#

Type: System.Exception

Views: 5135