DebuggerDisableUserUnhandledExceptionsAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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) |