Как избежать WebException в методе GetResponse () - PullRequest
1 голос
/ 11 ноября 2011

Я выполняю следующий код:

 // get a picture from http://www.mysite.com/logos/logo.png
 WebRequest pictureRequest = WebRequest.Create(themeLogoUri);
 response = pictureRequest.GetResponse();

Логотип на веб-сайте может существовать или не существовать, а если он не существует, метод GetResponse() завершается с ошибкой и выдает WebException (404). Пока здесь все правильно.

Когда я отлаживаю, раздражает всегда иметь это исключение, потому что отладчик всегда останавливается в этом исключении. Я знаю, что могу игнорировать какие-то исключения в отладчике, но я предпочитаю избегать исключения, поэтому мой вопрос таков.

Как я могу проверить, что запрос правильный (изображение действительно существует), поэтому, если он не существует, вернитесь и в другом случае продолжите с GetResponse()?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Вам это нужно только для целей отладки?Тогда действительно, отметьте, чтобы игнорировать это в настройках отладчика.

Если нет, и если вы можете изменить поведение вашего сервера, то вы, вероятно, можете запрограммировать там веб-сервис, который вернет вам указание существования файла насервер.

HttpWebRequest.GetResponse () все равно сгенерирует исключение.Не используйте класс HttpWebRequest, если вам не нравится это поведение.

1 голос
/ 11 ноября 2011

создайте простую функцию с помощью операторов try / catch и вместо этого вызовите ее

...