Ответ 1
Он не поднимает исключение, он жалуется, что вы не обработали возможность, что он мог, хотя он выиграл ' t, потому что URL-адрес в этом случае не искажен. (Java-дизайнеры считали, что эта концепция, "проверенные исключения", была хорошей идеей, хотя на практике она не сработала.)
Чтобы закрыть его, добавьте throws MalformedURLException
или его суперкласс throws IOException
в объявление метода. Например:
public void myMethod() throws IOException {
URL url = new URL("https://wikipedia.org/");
...
}
В качестве альтернативы, поймайте и восстановите раздражающее исключение в качестве непроверенного исключения:
public void myMethod() {
try {
URL url = new URL("https://wikipedia.org/");
...
} catch (IOException e) {
throw new RuntimeException(e);
}
}
В Java 8 добавлен класс UncheckedIOException
для перестройки IOException
, когда вы не можете иначе обрабатывать их. В более ранних версиях Java используйте RuntimeException
.