在WebException错误中获取错误号

时间:2011-09-16 06:25:14

标签: c# webexception

如何在WebException错误中获取错误号?

try
{
     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("site");
     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     Stream stream = response.GetResponseStream();
     int i = stream.ReadByte();
}
catch (WebException e)
{
     //How To Get Error number in WebException Error?
}

4 个答案:

答案 0 :(得分:25)

您需要运行测试以确保它是ProtocolError

if (e.Status == WebExceptionStatus.ProtocolError) 
{
    Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
    Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
}

答案 1 :(得分:6)

获取错误号:

catch(System.Net.WebException e)
{
    int errorNumber = (int)e.Status;
}

答案 2 :(得分:0)

您可以尝试解析消息,但并不总是出现错误编号。例如,超时不会导致HTTP错误代码。

答案 3 :(得分:-1)

您不能这样做,因为WebException(s)没有错误编号。您可以定义自己的错误编号,如果这是您想要/需要做的。

Here's the documentation您可以获取状态,消息,StackTrace等等。