SEHException 类处理从非托管代码引发的、但尚未映射到另一个 .NET Framework 异常的 SEH 错误。SEHException 类还响应 HRESULT E_FAIL(它具有值 0x80004005)。
.NET Framework 经常会遇到非托管 SEH 异常,这些异常自动映射到托管等效项。例如,STATUS_NO_MEMORY SEH 异常自动映射到 OutOfMemoryException 类,而 STATUS_ACCESS_VIOLATION SEH 异常自动映射到 NullReferenceException 类。但是默认情况下,任何未自动映射到特定异常的 SEH 异常将映射到 SEHException 类。
有关 SEH 异常的更多信息,请参见位于 http://www.microsoft.com/china/msdn 上的非托管异常文档。
请注意,SEHException 类不会导致对非托管 C++ 异常析构函数的调用。若要确保对非托管 C++ 异常析构函数的调用,请使用 catch 块中的以下语法。
[Visual Basic]
Catch
' Handle catch here.
End Try
[C#]
catch
{
// Handle catch here.
}
[C++]
catch(…)
{
// Handle catch here.
}