3

请您告诉我如何以正确的方式处理 C# 中的 COM 异常?例如,我正在使用DirectorySearcher并获取COMException: The server is not operational. 我应该如何处理这个异常?我可以为 编写一个处理程序COMException,但我如何识别特定的异常类型?我应该检查异常消息还是HRESULT为它检查?

4

1 回答 1

1

您必须寻找HRESULT,这Exception Instance的错误代码,因此是真正知道发生了什么的唯一方法。你可以HRESULT这个这篇文章来解密。

例子:

try
{
    //Your code
}
catch(COMException ex)
{
    int error = ex.ErrorCode;

    //Conditions and error handling
}

基本上HRESULT是一个 32 位整数,其中两个最高有效位描述了它是什么类型的消息(成功、信息、警告、错误)。其他 30 位用于描述消息的其余部分。

于 2013-08-13T08:33:39.653 回答