请问,请告诉我如何以正确的方式处理C#中的COM异常?
例如,我正在使用DirectorySearcher
并获取COMException: The server is not operational
。我该如何处理这个例外?我可以为COMException
编写处理程序,但是如何识别特定的异常类型?我应该检查异常消息还是HRESULT
?
答案 0 :(得分:1)
您必须查找HRESULT
,此 errorcode of the Exception Instance ,因此才能真正了解正在发生的事情。您可以使用 this 和 this 文章对HRESULT
进行解密。
示例:强>
try
{
//Your code
}
catch(COMException ex)
{
int error = ex.ErrorCode;
//Conditions and error handling
}
基本上HRESULT
是一个32位整数,其中两个最重要的位描述它是什么类型的消息(成功,信息,警告,错误)。其他30位用于描述消息的其余部分。