SEHException Класс

Определение

Представляет ошибки структурированной обработки исключений (SEH).

public ref class SEHException : Exception
public ref class SEHException : System::Runtime::InteropServices::ExternalException
public class SEHException : Exception
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
[<System.Serializable>]
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SEHException = class
    inherit ExternalException
type SEHException = class
    inherit ExternalException
Public Class SEHException
Inherits Exception
Public Class SEHException
Inherits ExternalException
Наследование
SEHException
Наследование
Атрибуты

Комментарии

Класс SEHException обрабатывает ошибки SEH, которые возникают из неуправляемого кода, но не сопоставлены с другим исключением .NET Framework. Класс SEHException также соответствует HRESULTE_FAIL (0x80004005).

.NET часто встречает неуправляемые исключения SEH, которые автоматически сопоставляются с управляемыми эквивалентами. Существует два распространенных неуправляемых исключения SEH:

  • STATUS_NO_MEMORY Исключения автоматически сопоставляются с классом OutOfMemoryException .

  • STATUS_ACCESS_VIOLATION Исключения автоматически сопоставляются следующим образом:

    • При legacyNullReferencePolicy применении все нарушения доступа сопоставляются с классом NullReferenceException .
    • Если адрес, по которому была предпринята попытка чтения и записи, не находится в скомпилированном JIT-коде, исключение сопоставляется с классом AccessViolationException .
    • Если адрес, по которому была предпринята попытка чтения и записи, находится в скомпилированном JIT-коде, но он не находится в области секции OS Null, исключение сопоставляется с классом AccessViolationException .
    • Если нет legacyNullReferencePolicy, а адрес, по которому была предпринята попытка чтения и записи, находится в скомпилированном JIT-коде и в области секции NULL ОС, исключение сопоставляется с классом NullReferenceException .

Любое исключение SEH, которое не сопоставляется с определенным исключением, сопоставляется с SEHException классом по умолчанию.

Обратите внимание, что SEHException класс не вызывает вызываемые неуправляемые деструкторы исключений C++. Чтобы убедиться, что неуправляемые деструкторы исключений C++ вызываются, используйте следующий синтаксис в блоке catch .

Catch
     ' Handle catch here.
End Try
catch
{
     // Handle catch here.
}
catch(…)
{
     // Handle catch here.
}

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

Имя Описание
SEHException()

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

SEHException(SerializationInfo, StreamingContext)

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

SEHException(String, Exception)

Инициализирует новый экземпляр SEHException класса с указанным сообщением об ошибке и ссылкой на внутреннее исключение, которое является причиной этого исключения.

SEHException(String)

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

Свойства

Имя Описание
Data

Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении.

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

Возвращает ошибку HRESULT .

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

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

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

Возвращает или задает HRESULT, закодированное числовое значение, назначенное определенному исключению.

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

Возвращает экземпляр Exception, вызвавшего текущее исключение.

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

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

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

Возвращает или задает имя приложения или объекта, вызывающего ошибку.

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

Возвращает строковое представление непосредственных кадров в стеке вызовов.

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

Возвращает метод, который вызывает текущее исключение.

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

Методы

Имя Описание
CanResume()

Указывает, можно ли восстановить исключение и продолжить код с точки, в которой было создано исключение.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

При переопределении в производном классе возвращает Exception, которая является основной причиной одного или нескольких последующих исключений.

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

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

При переопределении в производном классе задает SerializationInfo с информацией об исключении.

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

Возвращает тип среды выполнения текущего экземпляра.

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

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

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

Создает и возвращает строковое представление текущего исключения.

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

Возвращает строку, содержащую HRESULT ошибки.

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

События

Имя Описание
SerializeObjectState

Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

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

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

См. также раздел