5.11. Displaying Exception Information

Problem

There are several different methods of displaying exception information. You need to choose the best one to use.

Solution

The .NET platform supports several methods for displaying exception information, depending on the specific type of information that you want to show. The easiest method is to use the ToString method of the thrown exception object, usually in the catch block of an exception handler:

catch(Exception e)
{
    Console.WriteLine(e.ToString( ));
}

Another method is to manually display the individual properties of the thrown exception and iterate through each inner exception, if any exist. For example, the following custom method is called from a catch block that takes a single exception object as a parameter and proceeds to display its information, including information on all inner exceptions:

public void DisplayException(Exception e) { Console.WriteLine("Outer Exception."); Console.WriteLine("ExceptionType: " + e.GetType( ).Name); Console.WriteLine("HelpLine: " + e.HelpLink); Console.WriteLine("Message: " + e.Message); Console.WriteLine("Source: " + e.Source); Console.WriteLine("StackTrace: " + e.StackTrace); Console.WriteLine("TargetSite: " + e.TargetSite); string indent = "\t"; Exception ie = e; while(ie.InnerException != null) { ie = ie.InnerException; Console.WriteLine("Inner Exception."); Console.WriteLine(indent + "ExceptionType: " + ie.GetType( ).Name); Console.WriteLine(indent + "HelpLink: " + ie.HelpLink); Console.WriteLine(indent ...

Get C# Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.