
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
424
|
Chapter 7: Exception Handling
7.19 Looking at Exceptions in a New Way Using
Visualizers
Problem
You want to see all of the exception data laid out differently from Visual Studio’s
presentation, as your exceptions usually have multiple inner exceptions showing the
root cause.
Solution
Create a debugger visualizer by deriving a class from Microsoft.VisualStudio.
DebuggerVisualizers.DialogDebuggerVisualizer
that can be plugged in to Visual Stu-
dio for all exception types. The easiest way to create one of these is to create a class
library project and then add a class that derives from
DialogDebuggerVisualizer. You
will create the
ExceptionVisualizer to show exceptions with a focus on getting right
to the inner exception information. The
ExceptionDisplay class is implemented as
the presentation for the
ExceptionVisualizer.
First, add a reference to the
Microsoft.VisualStudio.DebuggerVisualizers namespace
in the class library project that was created. Now add the
using directive like this:
using Microsoft.VisualStudio.DebuggerVisualizers;
Next declare the ExceptionVisualizer class. The only method you must implement is
Show, which passes in the IDialogVisualizerService and IVisualizerObjectProvider
interfaces. To get the exception object that the visualizer is being asked to display,
call the
GetObject ...