DebuggerDisableUserUnhandledExceptionsAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Si un débogueur .NET est attaché qui prend en charge l’API BreakForUserUnhandledException(Exception), le débogueur ne s’arrête pas sur les exceptions non gérées par l’utilisateur lorsque l’exception est interceptée par une méthode avec cet attribut, sauf si BreakForUserUnhandledException(Exception) est appelée.
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
- Héritage
- Attributs
Remarques
Visual Studio a ajouté la prise en charge de l’interception d’exceptions asynchrones non gérées par l’utilisateur et elle est activée par défaut. Cette fonctionnalité existe depuis longtemps pour les méthodes synchrones, mais pas pour les méthodes async
/await
. La méthode BreakForUserUnhandledException(Exception) désactive la fonctionnalité pour des méthodes spécifiques. Cela est utile pour les exceptions qui se propagent par le biais du code utilisateur, mais qui sont censées être gérées par le code de framework. Cet attribut est conçu pour être utilisé avec BreakForUserUnhandledException(Exception).
Exemple
[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.
}
}
Constructeurs
DebuggerDisableUserUnhandledExceptionsAttribute() |
Initialise une nouvelle instance de la classe DebuggerDisableUserUnhandledExceptionsAttribute. |
Propriétés
TypeId |
En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute. (Hérité de Attribute) |
Méthodes
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
GetHashCode() |
Retourne le code de hachage pour cette instance. (Hérité de Attribute) |
GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
IsDefaultAttribute() |
En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut de la classe dérivée. (Hérité de Attribute) |
Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |