【问题标题】:Why different error codes for same Exception?为什么相同异常的错误代码不同?
【发布时间】:2017-09-13 03:46:06
【问题描述】:

我正在做一个同步示例。我有两个异常,它们具有相同的异常详细信息。但是有错误代码。

并且两个异常都有相同的Inner Exceptions

什么是手段?除了异常之外,哪些错误代码会告诉我们更多信息? 如何获取有关我的错误代码的详细信息。 提前致谢

Microsoft.Synchronization.SyncException: A storage engine operation failed with error code 25051 (HRESULT = 0x80004005, Source IID = {0FB15084-AF41-11CE-BD2B-204C4F4F5020}, Parameters=(0, 0, 0, , , , )).

Microsoft.Synchronization.SyncException: A storage engine operation failed with error code 25009 (HRESULT = 0x80004005, Source IID = {0FB15084-AF41-11CE-BD2B-204C4F4F5020}, Parameters=(0, 0, 0, , , , )).

【问题讨论】:

  • 您查看过InnerException 是否提供了更多相关信息?
  • 是的@Pikoh。对于这两个例外Inner Exceptions 是相同的。所以由于冗长,我没有发布在问题中。
  • 我会得到完整的.ToString() 两个错误的异常并显示它,即使它们是相同的。没有它,你不可能得到有意义的答案。
  • 我认为你应该添加一个答案@Christian.K。我想你是对的,在那个列表中是对 OP 错误的解释

标签: c# .net exception-handling error-code


【解决方案1】:

从消息的措辞看来,这些是 SQL CE 错误。如果是这样,请查看here 以了解实际错误代码的含义。对于包装本机代码的 .NET 代码,一个托管异常(此处为 SyncException)与多个错误代码一起使用的情况并不少见(最突出的示例 Win32Exception)。

documentation 似乎没有明显的方法可以得到这个数字代码。

但是,您是否真的可以根据一个错误代码或另一个错误代码在代码中做出不同的反应,无论如何都是值得怀疑的。使用所有详细信息记录错误 并完成它。

【讨论】:

    【解决方案2】:

    看完文档终于洗干净了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2012-10-28
      • 1970-01-01
      • 2021-02-25
      • 2019-10-07
      • 2019-08-14
      相关资源
      最近更新 更多