为什么相同的异常有不同的错误代码?

Why different error codes for same Exception?

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

并且两个异常具有相同的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, , , , )).

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

documentation 看来,似乎没有明显的方法来获取此数字代码。

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

看完文档终于搞定了