Google


   


You are here: CodeIdol.com > C# > C# Cookbook, 2nd Edition > Exception Handling > Getting To The Root Of A Problem Quickly

SAVE
Digg
Shown on del.icio.us del.icio.us
See Whos Talking About This on Technorati Technorati
I've Reddit reddit

Recipe 7.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 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; no other exception information is 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 were called directly on the inner exception. However, if the exception object does not contain an inner expression, the information on 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 286

Notice that no exception other than the innerInner exception is displayed. This useful technique gets to the root of the problem while filtering out all of the other outer exceptions that you are not interested in.

See Also

See the "Error Raising and Handling Guidelines" and "Exception Class" topics in the MSDN documentation.


SAVE
Digg
Shown on del.icio.us del.icio.us
See Whos Talking About This on Technorati Technorati
I've Reddit reddit

You are here: CodeIdol.com > C# > C# Cookbook, 2nd Edition > Exception Handling > Getting To The Root Of A Problem Quickly


ADBRITE ads links
   
Related tags







Popular Categories
Unix books and guides

AJAX popular information
C# language guides
Windows books and cookbooks

.......








Business Key Top Sites

be number one
rate your site




    С 2009 года мы стали переводить структура сайта на различные языки. Сайт теперь будет содержать книги не только на английском языке, но также и на других европейских языках, в том числе и на Русском языке.

    Русский Polski Francais Deutsch
    support sitemap terms

© CodeIdol Labs, 2007 - 2009