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
- Наследование
- Атрибуты
Комментарии
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) |