Exceptions are unavoidable factors in development. Here I explain how to display the exception occurred in a detailed and in the best formatted way.
This displays a message box that can be customized with text, buttons, and symbols to improve the customer experience with a Microsoft Windows .NET Framework.
ApplicationExceptionMessagebox helps any developer to display an error message in the best formatted way. The user is given a choice to add up user defined messages as shown in DetailErrorMessage.jpg.
ExceptionMessageBox gives the user an option whether to display the same message again and again in the application. Like the usual
MessageBox in C#, we have an option to display a button as per the need. In the above example, I have used only Yes and No buttons.
The user is requested to add a .NET reference named
ExceptionMessageBox and a namespace
Using the Code
I have created a solution named
ExceptionMessageBoxSample. First I added a Windows Form named Form1.cs to my solution. On the form load, I am implicitly throwing an exception which will be caught by my
STEP 1: Add the .NET Reference
ExceptionMessagebox and add the namespace in the code:
STEP 2: The
try-block contains the guarded code block that may cause the exception. The block is executed until an exception is thrown or it is completed successfully. Here I am implicitly throwing an exception.
throw new ApplicationException
("An unexpected error occurred. Please call Helpdesk.");
STEP 3: The
catch clause can be used without arguments, in which case it catches any type of exception, and is referred to as the general
catch clause. It can also take an object argument derived from
System.Exception, in which case it handles a specific exception.
catch (ApplicationException ex)
string str = "Write the reason why the action failed.";
ApplicationException exTop = new ApplicationException(str, ex);
exTop.Source = this.Text;
exTop.Data.Add("AdvancedInformation.FilePosition", "line 24");
"a detail message can be given");
ExceptionMessageBox box = new ExceptionMessageBox(exTop);
box.Buttons = ExceptionMessageBoxButtons.YesNo;
box.Caption = "Caption";
box.ShowCheckBox = true;
box.ShowToolBar = true;
box.Symbol = ExceptionMessageBoxSymbol.Stop;
Add the new top-level message to the handled exception
str is used to display the
Now we are all done. Now you can execute the program and see the result.
Points of Interest
ExceptionMessage box does have pre-defined properties. Some of them are:
Beep: Specifies whether to play an audible sound when the message is displayed
Data: Gets the
IDictionary interface that stores help link and advanced information associated with the top-level message
Option: Gets or sets miscellaneous display options for the message box
ShowCheckBox: Specifies whether to show the check box in the exception message box
- 18th May, 2007: First release
This is my first article on The Code Project. I will be modifying the document later on.
Currently I am working as a Senior Software Engineer at Proteans Software Solutions in Bangalore.