Как я фиксирую этот UnknownHostException?

Взятый от: здесь

Повышение и ловля исключений не должны обычно происходить как часть успешного осуществления метода. При разработке библиотек классов клиентскому коду нужно дать возможность протестировать на состояние ошибки прежде, чем предпринять операцию, которая может привести к повышаемому исключению. Например, Система. IO.FileStream обеспечивает свойство CanRead, которое может быть проверено до вызова метода Read, предотвратив потенциальное повышаемое исключение, как проиллюстрировано в следующем фрагменте кода:

Тусклый str Как Поток = GetStream (), Если (str. CanRead), Тогда 'кодируют для чтения конца потока, Если

решение о том, проверить ли состояние объекта до вызова конкретного метода, который может повысить исключение, зависит от ожидаемого состояния объекта. Если объект FileStream создается с помощью пути к файлу, который должен существовать и конструктор, который должен возвратить файл в режиме чтения, проверив, что свойство CanRead не необходимо; неспособность считать FileStream была бы нарушением ожидаемого поведения вызовов метода, сделанных, и исключение должно быть повышено. Напротив, если метод документируется как возврат ссылки FileStream, которая может или не может быть читаемой, проверив, что свойство CanRead прежде, чем попытаться считать данные желательно.

Для иллюстрирования влияния производительности, что с помощью "выполненный, пока исключение" кодирование техники не может вызвать выполнение броска, который бросает InvalidCastException, если бросок сбои, сравнивается с C# как с оператором, который возвраты аннулирует, если состав исполнителей перестал работать. Производительность этих двух методов идентична для случая, где бросок допустим (см. Тест 8.05), но для случая, где бросок недопустим, и использование броска, вызывает исключение, использование броска в 600 раз медленнее, чем использование как оператор (см. Тест 8.06). Высокоэффективное влияние бросающей исключение техники включает стоимость выделения, броска и ловли исключения и стоимости последующей сборки "мусора" объекта исключения, что означает, мгновенное влияние выдачи исключения не является этим высоко. Поскольку больше исключений выдается, частая сборка "мусора" становится проблемой, таким образом, полное влияние частого использования исключения - бросающий кодирование техники будет подобно для Тестирования 8.05.

5
задан Erick Robertson 13 December 2011 в 16:19
поделиться

2 ответа

Proxy proxy = new Proxy(Proxy.DIRECT,
    new InetSocketAddress(proxyHost, proxyPort));
url.openConnection(proxy);

или

System.setProperty("http.proxyHost", "my.proxyhost.com");
System.setProperty("http.proxyPort", "1234");
16
ответ дан 18 December 2019 в 09:50
поделиться

Возможно, что выборка не выполняет необходимых поисков в DNS. Если вы используете nslookup abc.com, вы получаете перенаправление на www.go.com. Это может быть проблемой.

0
ответ дан 18 December 2019 в 09:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: