提问人:Cristiano Ghersi 提问时间:7/29/2020 更新时间:3/18/2021 访问量:1794
UWP:未指定的错误 - HRESULT 异常:0x80004005
UWP: Unspecified Error - Exception from HRESULT: 0x80004005
问:
我正在用 C# 开发一个 UWP 应用,并且附加了一个用于未处理异常的处理程序,该处理程序向我们发送未经处理的异常,以便我们可以对其进行诊断。
我收到了大量的
System.Exception - 未指定的错误 (来自 HRESULT 的异常: 0x80004005)
没有任何堆栈跟踪或其他附加信息。
这在调试中从未在本地发生过,而仅在生产中针对真实用户发生过,从未抱怨过这个问题,所以我想这似乎是一个无声错误,可能不会影响用户。
无论如何,我对这个问题未解决感到有点不安。
我怎样才能找到这个问题的罪魁祸首?
以前有人遇到过这个问题吗?
谢谢!
答:
在 Microsoft 支持上检查它,我发现了 2 个关于0x80004005非常不同的参考资料。
第一个是关于 Windows XP Ativation,这表明 Windows 未正确激活 - 该消息在 Windows 10 上可能仍然相同,但微软页面不足以证明这一点。
另一个参考资料是关于 Windows 更新(在 Windows 10 上)的安全版本,该版本具有相同的错误代码(对于没有更新KB3087040的 PC);似乎更有可能。
评论
如果没有适当的错误或异常,几乎不可能解决或尝试回答。
过去,当遇到类似的问题时(本地问题正常,开发问题正常,但生产失败),我和许多其他开发人员的解决方案是缩小范围并断言应用程序中抛出的异常在哪里。
假设:
如果异常没有被处理,我们应该看到应用程序失败 - 它可能被封装在语句中。catch
首先,我们需要添加一些日志记录,您可以使用log4net
如果假设是正确的 - 在应用的每个语句中添加日志记录。取决于应用的规模 - 这需要一些时间来调试。catch
希望捕获和记录能让您深入了解并解决您的问题。
还可以在访问资源的位置添加日志记录。
评论