DebuggerDisableUserUnhandledExceptionsAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Jeśli dołączony jest debuger platformy .NET obsługujący interfejs API BreakForUserUnhandledException(Exception), debuger nie będzie przerywał obsługi wyjątków nieobsługiwanych przez użytkownika, gdy wyjątek zostanie przechwycony przez metodę z tym atrybutem, chyba że zostanie wywołana 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
- Dziedziczenie
- Atrybuty
Uwagi
Program Visual Studio dodał obsługę przechwytywania asynchronicznych wyjątków nieobsługiwanych przez użytkownika i jest domyślnie włączony. Ta funkcja istniała przez długi czas w przypadku metod synchronicznych, ale nie dla metod async
/await
. Metoda BreakForUserUnhandledException(Exception) wyłącza funkcję dla określonych metod. Jest to przydatne w przypadku wyjątków, które propagują się za pomocą kodu użytkownika, ale powinny być obsługiwane przez kod platformy. Ten atrybut jest przeznaczony do użycia wraz z BreakForUserUnhandledException(Exception).
Przykład
[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.
}
}
Konstruktory
DebuggerDisableUserUnhandledExceptionsAttribute() |
Inicjuje nowe wystąpienie klasy DebuggerDisableUserUnhandledExceptionsAttribute. |
Właściwości
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attribute. (Odziedziczone po Attribute) |
Metody
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
GetHashCode() |
Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
IsDefaultAttribute() |
Po zastąpieniu w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną dla klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
Po zastąpieniu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |