如何从Marshal.GetExceptionCode()获取异常信息;

时间:2010-03-19 02:46:12

标签: .net exception-handling

使用Marshal.GetExceptionCode()时,如何获取异常类型和/或异常实例?

http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.getexceptioncode%28VS.71%29.aspx

2 个答案:

答案 0 :(得分:1)

这不是它的工作原理。如果CLR捕获到SEH异常,Marshal.GetExceptionCode仅返回有意义的数字。它将尝试将异常转换为有意义的托管异常。常见的是NullReferenceException,OverflowException,DivideByZeroException,StackOverflowException,AccessViolationException。 SEHException是后备者。

您可以在处理其中一个异常时调用GetExceptionCode。鸡和鸡蛋,管理的异常首先被提升。

答案 1 :(得分:0)

我相信你想要GetExceptionForHR,但它仅适用于.NET 2.0及更高版本。