`marshal.ThrowExceptionForHRInternal`和`marshal.ThrowExceptionForHR`有什么区别?

时间:2012-10-30 00:10:55

标签: .net

marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)没有记录在任何地方,如果不知道哪种方法可以解释堆栈跟踪很困难。

1 个答案:

答案 0 :(得分:3)

这只是一个由两个公共Marshal.ThrowExceptionForHR()方法重载调用的内部辅助方法。不要射击信使,它只是将COM错误代码(HR = HResult)转换为托管异常并抛出该异常。你得到的例外是希望表明出了什么问题。通常不清楚的是,COM错误代码往往是无用的,特别是当没有IErrorInfo可用时。