Compartilhar via


DebuggerDisableUserUnhandledExceptionsAttribute Classe

Definição

Se um depurador .NET estiver anexado que dê suporte à API de BreakForUserUnhandledException(Exception), o depurador não interromperá exceções sem tratamento do usuário quando a exceção for capturada por um método com esse atributo, a menos que BreakForUserUnhandledException(Exception) seja chamado.

public ref class DebuggerDisableUserUnhandledExceptionsAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class DebuggerDisableUserUnhandledExceptionsAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type DebuggerDisableUserUnhandledExceptionsAttribute = class
    inherit Attribute
Public NotInheritable Class DebuggerDisableUserUnhandledExceptionsAttribute
Inherits Attribute
Herança
DebuggerDisableUserUnhandledExceptionsAttribute
Atributos

Comentários

O Visual Studio adicionou suporte para capturar exceções assíncronas sem tratamento do usuário e está habilitado por padrão. Esse recurso existe há muito tempo para métodos síncronos, mas não para métodos async/await. O método BreakForUserUnhandledException(Exception) desabilita o recurso para métodos específicos. Isso é útil para exceções que se propagam por meio do código do usuário, mas que devem ser tratadas pelo código da estrutura. Esse atributo foi projetado para ser usado junto com BreakForUserUnhandledException(Exception).

Exemplo

[MethodImpl(MethodImplOptions.NoInlining)]
[DebuggerDisableUserUnhandledExceptions]
static async Task InvokeUserCode(Func<Task> userCode)
{
  try
  {
      await userCode();
  }
  catch (Exception ex)
  {
      if (TryHandleWithFilter(ex))
      {
          return; // example case where we don't want to break for user-unhandled exceptions
      }

      Debugger.BreakForUserUnhandledException(e); // debugger will stop here and show the exception if attached.
  }
}

Construtores

DebuggerDisableUserUnhandledExceptionsAttribute()

Inicializa uma nova instância da classe DebuggerDisableUserUnhandledExceptionsAttribute.

Propriedades

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute.

(Herdado de Attribute)

Métodos

Equals(Object)

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Retorna o código hash dessa instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a