У меня проблема с исключением httpwebrequest. Я использую следующий код, чтобы сделать запрос и перехватить исключение.
try
{
Uri url= new Uri("https://www.example.com");
HttpWebRequest request2 =(HttpWebRequest)WebRequest.Create(url);
request2.Timeout = 10000;
HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();
response2.Close();
}
catch (TimeoutException)
{
listBox.Items.Insert(0, "Timeout");
}
catch (WebException ex)
{
using (WebResponse response = ex.Response)
{
HttpWebResponse httpResponse = (HttpWebResponse)response;
listBox.Items.Insert(0, "Status code(Benchmark):" + httpResponse.StatusCode);
}
}
catch
{
listBox.Items.Insert(0, "Failure");
}
В сети компании, когда я ввожу несуществующий URL-адрес, например www.oiuahsdupiasduiuhid.com; это вызывает исключение webexception. Я получил код статуса: не найден или услуга недоступна. Однако, если я попробую его дома, это не вызовет никаких исключений. Он ждет около 1 секунды, а затем без ошибок перестает работать. Я удаляю все исключения, чтобы увидеть, что происходит, но проблема в том, что никаких ошибок нет. Вы хоть представляете, в чем проблема?
Или любая рекомендация, как я могу решить эту проблему по-другому?
HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();
на несуществующем сайте, когда вы находитесь дома? - person psubsee2003   schedule 08.11.2012WebException
блоке catch, чтобы увидеть? - person psubsee2003   schedule 08.11.2012WebException
? Из того, что я упомянул в своем ответе, вашWebException
может вызвать исключение, которое будет обрабатываться дальше в стеке вызовов. - person psubsee2003   schedule 08.11.2012