DebuggerDisableUserUnhandledExceptionsAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Si se adjunta un depurador de .NET que admite la API de BreakForUserUnhandledException(Exception), el depurador no interrumpirá las excepciones no controladas por el usuario cuando se detecte la excepción mediante un método con este atributo, a menos que se llame a BreakForUserUnhandledException(Exception).
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
- Herencia
- Atributos
Comentarios
Visual Studio ha agregado compatibilidad para detectar excepciones asincrónicas no controladas por el usuario y está habilitada de forma predeterminada. Esta característica ha existido durante mucho tiempo para los métodos sincrónicos, pero no para los métodos de async
/await
. El método BreakForUserUnhandledException(Exception) deshabilita la característica para métodos específicos. Esto es útil para las excepciones que se propagan a través del código de usuario, pero que se espera que se controle mediante código de marco. Este atributo está diseñado para usarse junto con BreakForUserUnhandledException(Exception).
Ejemplo
[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.
}
}
Constructores
DebuggerDisableUserUnhandledExceptionsAttribute() |
Inicializa una nueva instancia de la clase DebuggerDisableUserUnhandledExceptionsAttribute. |
Propiedades
TypeId |
Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Heredado de Attribute) |
Métodos
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
GetHashCode() |
Devuelve el código hash de esta instancia. (Heredado de Attribute) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
IsDefaultAttribute() |
Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada. (Heredado de Attribute) |
Match(Object) |
Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |