SEHException Класс

Определение

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

public ref class SEHException : Exception
public ref class SEHException : System::Runtime::InteropServices::ExternalException
public class SEHException : Exception
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public class SEHException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SEHException : System.Runtime.InteropServices.ExternalException
type SEHException = class
    inherit Exception
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
type SEHException = class
    inherit ExternalException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
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 Framework часто встречаются неуправляемые исключения SEH, которые автоматически сопоставляются с управляемыми эквивалентами. Существует два распространенных неуправляемых исключения SEH:

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

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

    • Если legacyNullReferencePolicy применяется , все нарушения доступа сопоставляются с классом NullReferenceException .

    • Если адрес, по которому была предпринята попытка чтения и записи, не находится в JIT-скомпилированном коде, исключение сопоставляется с классом AccessViolationException .

    • Если адрес, по которому была предпринята попытка чтения и записи, находится в JIT-скомпилированном коде, но он не находится в области раздела ОС 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)

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

SEHException(String, Exception)

Инициализирует новый экземпляр класса 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)

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

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