DebuggerDisableUserUnhandledExceptionsAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |