2

我正在尝试捕获和处理特定的 HttpException,即“远程主机关闭了连接。错误代码是 0x800704CD。”

我的目的是将 HttpException 的 Catch 添加到相关的 Try 块中,并测试生成的错误代码。示例代码:

Try
    // Do some stuff
Catch exHttp As HttpException
    If exHttp.ErrorCode.ToString() = "0x800704CD" Then DoSomething()
Catch ex As Exception
    // Generic error handling
End Try

但我不知道如何从 HttpException 对象中提取异常中显示的错误代码(即“0x800704CD”)。将 ErrorCode 属性的整数值转换为十六进制会返回“800704CD”,所以很明显我不明白这个代码是如何生成的。

谢谢。

4

2 回答 2

4

试试下面的代码:

 Try
    // Do some stuff
        Catch exHttp As HttpException
            If exHttp.ErrorCode = &H800704CD Then DoSomething()
        Catch ex As Exception
    // Generic error handling
        End Try
于 2012-11-19T13:51:35.413 回答
0

ErrorCode 属性是一个整数,所以只测试整数值,没有理由转换为十六进制或字符串。

大多数编程语言中的 0x 表示后面的字符表示一个十六进制数,即 0x800704CD 表示 800704CD 将被解释为一个十六进制数。对于 VB 使用 &H。

有关 VB.Net 文字的更多信息:

http://msdn.microsoft.com/en-us/library/s9cz43ek.aspx

http://msdn.microsoft.com/en-us/library/dzy06xhf.aspx

于 2014-03-22T17:29:45.520 回答