Поделиться через


DebuggerDisableUserUnhandledExceptionsAttribute Класс

Определение

Если отладчик .NET подключен, поддерживающий API BreakForUserUnhandledException(Exception), отладчик не прерывает необработанные пользователем исключения, если исключение перехватывается методом с этим атрибутом, если не вызывается 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
Наследование
DebuggerDisableUserUnhandledExceptionsAttribute
Атрибуты

Комментарии

Visual Studio добавила поддержку перехвата асинхронных необработанных пользователем исключений и включена по умолчанию. Эта функция уже давно существует для синхронных методов, но не для async/await методов. Метод BreakForUserUnhandledException(Exception) отключает функцию для определенных методов. Это полезно для исключений, распространяющихся через пользовательский код, но, как ожидается, обрабатывается кодом платформы. Этот атрибут предназначен для использования вместе с BreakForUserUnhandledException(Exception).

Пример

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

Конструкторы

DebuggerDisableUserUnhandledExceptionsAttribute()

Инициализирует новый экземпляр класса DebuggerDisableUserUnhandledExceptionsAttribute.

Свойства

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к