Подтвердить что ты не робот

Получить номер ошибки в ошибке 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?
}
4b9b3361

Ответ 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-кода.