c# - 将 HRESULT 转换为可读消息

标签 c# excel com vsto

谁能提供一些有关如何以编程方式将 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/

相关文章:

C++ DLL 可以通知调用程序它的进度

javascript - 如何将 SAFEARRAY(字节数组)放入 HTML 隐藏字段

c# - 停止自定义 ASP.NET Core 配置提供程序中的 SqlDependency

c# - 通过用户控件调用 C# 窗体上的按钮

c# - 自定义 MonoDevelop 以提高生产力和编码乐趣

java - 无法使用 POI 在 Excel 中生成下拉菜单

excel - Set ForeColor 不会在 Exit 事件中执行

c# - 何时使用 ReleaseComObject 与 FinalReleaseComObject?

c# - dataGridView 从哪个索引开始?

regex - 如何在Excel中使用VBA和RegEx替换数据?