如何在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?
}
答案 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等等。