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 обрабатывает ошибки 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 |
Возвращает ошибку |
| 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) |