UnhandledExceptionEventArgs.ExceptionObject Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the unhandled exception object.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public object ExceptionObject { get; }

Property Value

Type: System.Object

The unhandled exception object.

This property returns an object of type Object rather than one derived from Exception. Although the Common Language Specification requires that all exception types derive from Exception, it is possible for methods to throw exceptions with objects not derived from Exception. You can do the following to work with this exception:

The following example demonstrates the UnhandledException event. It defines an event handler, MyHandler, that is invoked whenever an unhandled exception is thrown in the default application domain. It then throws two exceptions. The first is handled by a try/catch block. The second is unhandled and invokes the MyHandle routine before the application terminates.

using System;
using System.Security.Permissions;

public class Example 
   [SecurityPermission(SecurityAction.Demand, Flags=SecurityPermissionFlag.ControlAppDomain)]
   public static void Main()
      AppDomain currentDomain = AppDomain.CurrentDomain;
      currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);

      try {
         throw new Exception("1");
      } catch (Exception e) {
         Console.WriteLine("Catch clause caught : {0} \n", e.Message);

      throw new Exception("2");

   static void MyHandler(object sender, UnhandledExceptionEventArgs args) 
      Exception e = (Exception) args.ExceptionObject;
      Console.WriteLine("MyHandler caught : " + e.Message);
      Console.WriteLine("Runtime terminating: {0}", args.IsTerminating);
// The example displays the following output:
//       Catch clause caught : 1
//       MyHandler caught : 2
//       Runtime terminating: True
//       Unhandled Exception: System.Exception: 2
//          at Example.Main()  

.NET Framework
Available since 1.1
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top