DebuggerDisableUserUnhandledExceptionsAttribute Classe

Definizione

Se è collegato un debugger .NET che supporta l'API BreakForUserUnhandledException(Exception), il debugger non interromperà le eccezioni non gestite dall'utente quando l'eccezione viene intercettata da un metodo con questo attributo, a meno che non venga chiamato 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
Ereditarietà
DebuggerDisableUserUnhandledExceptionsAttribute
Attributi

Commenti

Visual Studio ha aggiunto il supporto per rilevare eccezioni asincrone non gestite dall'utente ed è abilitato per impostazione predefinita. Questa funzionalità esiste da molto tempo per i metodi sincroni, ma non per i metodi async/await. Il metodo BreakForUserUnhandledException(Exception) disabilita la funzionalità per metodi specifici. Ciò è utile per le eccezioni propagate tramite codice utente, ma che devono essere gestite dal codice framework. Questo attributo è progettato per essere usato insieme a BreakForUserUnhandledException(Exception).

Esempio

[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.
  }
}

Costruttori

DebuggerDisableUserUnhandledExceptionsAttribute()

Inizializza una nuova istanza della classe DebuggerDisableUserUnhandledExceptionsAttribute.

Proprietà

TypeId

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per questa istanza.

(Ereditato da Attribute)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a