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 обрабатывает ошибки SEH, которые возникают из неуправляемого кода, но не сопоставлены с другим исключением .NET Framework. Класс SEHException также соответствует HRESULT
E_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 |
Возвращает |
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) |