Ler em inglês

Compartilhar via


UnhandledExceptionEventArgs.ExceptionObject Propriedade

Definição

Obtém o objeto de exceção sem tratamento.

C#
public object ExceptionObject { get; }

Valor da propriedade

O objeto de exceção sem tratamento.

Exemplos

O exemplo a seguir demonstra o UnhandledException evento. Ele define um manipulador de eventos, MyHandler, que é invocado sempre que uma exceção sem tratamento é lançada no domínio do aplicativo padrão. Em seguida, ele gera duas exceções. O primeiro é tratado por um bloco try/catch . O segundo é sem tratamento e invoca a MyHandle rotina antes que o aplicativo seja encerrado.

C#
using System;

public class Example
{
   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()

Comentários

Essa propriedade retorna um objeto do tipo Object em vez de um derivado de Exception. Embora a Especificação de Linguagem Comum exija que todos os tipos de exceção derivam de Exception, é possível que os métodos lancem exceções com objetos não derivados de Exception. Você pode fazer o seguinte para trabalhar com esta exceção:

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também