Не совсем понятно, что вы подразумеваете под недействительным URL. Это может означать 2 вещи:
- URL неправильно отформатирован
- Правильно отформатированный URL, но сервер не отвечает кодом состояния HTTP 2xx или 3xx
Что касается определения правильно отформатированного URL-адреса, вы можете использовать метод Uri.TryCreate
, прежде чем пытаться отправить HTTP-запрос. А что касается обнаружения второго условия, то вы не можете обнаружить его, пока не отправите HTTP-запрос на указанный URL-адрес. Если сервер отвечает кодом состояния, отличным от 2xx или 3xx, таким как, например, 404 или 500, будет выдано исключение, которое вы можете перехватить. И если вы используете асинхронные версии методов, исключение не будет выдано, но при полном обратном вызове вы должны проверить, не является ли свойство Error
переданного экземпляра EventArgs нулевым, прежде чем пытаться получить доступ к свойству Result
.