Какие исключения я должен отслеживать в вызове WebRequest? - PullRequest
1 голос
/ 11 февраля 2010

Я работаю над небольшим, но жизненно важным пакетным приложением, в котором есть шаг для загрузки изображения с удаленного веб-сайта, над которым у меня нет никакого контроля.Это довольно просто, и я уже начал работать, но я хотел бы получить некоторую информацию об обработке ошибок.

У удаленного сервера не всегда запрашивается изображение, поэтому 404 Not Found на самом деле хорошо, ножизненно важно перехватывать все другие ошибки связи, такие как тайм-ауты и ошибки соединения, чтобы их можно было поместить в очередь повторов.Я хотел бы получить предложения о передаче исключений, что-нибудь конкретное, о чем я должен подумать?Любые другие типы исключений, по которым я должен фильтровать?

try 
{
    // webrequest.getresponse(), read file and return image
}
catch (WebException webEx) 
{
    // check the WebException/http status code and act on certain errors
    // if 404 image/file not found - ok, just return
    // other error - log and put on retry queue
}
catch (Exception ex) 
{
    // some other major failure, log and alert
}

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

Пожалуйста, смотрите HttpWebRequest.GetResponse . В документации перечислены следующие возможные исключения:

  • InvalidOpertationException
  • ProtocolViolationException
  • NotSupportedException
  • WebException
0 голосов
/ 11 февраля 2010

См. это . HttpWebRequest сопровождается так называемыми «неприятными исключениями», поэтому вам придется следить за ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...