Получить номер ошибки в ошибке 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?
}
Ответы
Ответ 1
Вы хотите запустить тест, чтобы убедиться, что это был ProtocolError
:
if (e.Status == WebExceptionStatus.ProtocolError)
{
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
}
Ответ 2
Для получения номера ошибки:
catch(System.Net.WebException e)
{
int errorNumber = (int)e.Status;
}
Ответ 3
Вы не можете этого сделать, потому что WebException(s)
не имеют номеров ошибок. Вы можете определить свои собственные номера ошибок, если это то, что вы хотите/должны сделать.
Здесь документация Вы можете получить статус, сообщение, StackTrace и т.д. и т.д.
Ответ 4
Вы можете попытаться разобрать сообщение, но не всегда есть номер ошибки. Например, тайм-аут не приводит к ошибке HTTP-кода.