Udostępnij za pośrednictwem


DebuggerDisableUserUnhandledExceptionsAttribute Klasa

Definicja

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
DebuggerDisableUserUnhandledExceptionsAttribute
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)

Dotyczy