谁能提供一些有关如何以编程方式将 HRESULT ( http://en.wikipedia.org/wiki/HRESULT) 值转换为人类可读消息的信息?
我知道实用程序 ERR.EXE 可以执行此操作,但我的应用需要向我的用户显示一些有意义的消息,而不是神秘的 0x800A03EC。
最佳答案
没有内置支持从具有该值的 HRESULT 生成消息。 COM 组件需要使用 IErrorInfo 接口(interface)自行实现。
.NET 中内置的 CLR 互操作支持已经自动完成了,您永远不需要帮助。当它看到 COM 接口(interface)方法返回失败代码时,它会自动抛出适当的异常。 Message 属性从 IErrorInfo 初始化。如果您没有收到像样的消息,那么 COM 服务器就不会提供它。
这很可能是 0x800a03ec,它是一个有很多错误原因的抓包低级 Excel 错误。您可以通过谷歌搜索“excel error 1004”找到大量匹配项。
关于c# - 将 HRESULT 转换为可读消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2914205/