Как получить информацию об исключении из Marshal.GetExceptionCode (); - PullRequest
1 голос
/ 19 марта 2010

При использовании Marshal.GetExceptionCode () как получить тип исключения и / или экземпляр исключения?

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

Ответы [ 2 ]

1 голос
/ 02 апреля 2010

Это не так, как это работает. Marshal.GetExceptionCode возвращает значащее число только в том случае, если CLR обнаружил исключение SEH. Он попытается перевести исключение в значимое управляемое исключение. Наиболее распространенными являются NullReferenceException, OverflowException, DivideByZeroException, StackOverflowException, AccessViolationException. SEHException является резервным.

Вы можете вызывать GetExceptionCode при обработке одного из этих исключений. Цыпленок и яйцо, управляемое исключение возникает первым.

0 голосов
/ 01 апреля 2010

Полагаю, вы хотите GetExceptionForHR , но оно доступно только для .NET 2.0 и выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...