Skip to Content
C# Cookbook
book

C# Cookbook

by Stephen Teilhet, Jay Hilyard
January 2004
Beginner to intermediate
864 pages
22h 18m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook

5.12. Getting to the Root of a Problem Quickly

Problem

A thrown and caught exception can contain one or more inner exceptions. The innermost exception is usually indicates the origin of the problem. You want to be able to view the original thrown exception and skip all of the outer exceptions, and to view the initial problem.

Solution

The GetBaseException instance method of the Exception class displays information on only the innermost (original) exception; all other exception information is not displayed. This method accepts no parameters and returns the innermost exception. For example:

Console.WriteLine(e.GetBaseException( ).ToString( ));

Discussion

Calling the GetBaseException( ).ToString( ) method on an exception object that contains an inner exception produces the same error information as if the ToString method was called directly on the inner exception. However, if the exception object does not contain an inner expression, the information of the provided exception object is displayed. For the following code:

Exception innerInner = new Exception("The innerInner Exception.");
ArgumentException inner = new ArgumentException("The inner Exception.", innerInner);
NullReferenceException se = new NullReferenceException("A Test Message.", inner);

try
{
    throw (se);
}
catch(Exception e)
{
    Console.WriteLine(e.GetBaseException( ).ToString( ));
}

something similar to this would be displayed:

System.Exception: The innerInner Exception. at Chapter_Code.EH.MyMethod( ) in c:\book cs cookbook\code\test.cs:line ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook, 2nd Edition

C# Cookbook, 2nd Edition

Jay Hilyard, Stephen Teilhet
ASP.NET Cookbook

ASP.NET Cookbook

Michael A Kittel, Geoffrey T. LeBlond

Publisher Resources

ISBN: 0596003390Supplemental ContentCatalog PageErrata