MalformedURLException не заботится о правильности URL, кроме правильности протокола (схемы)?Зачем? - PullRequest
0 голосов
/ 16 декабря 2018

Они компилируются и запускаются без MalformedURLException:

new URL("http://example.com/dir1/dir2/page1.html&k>v%k1=>v^!");

new URL("http:////\\example\\.com/dir1/\\@dir2/@&##page1.html&k>v%k1=>v^!");

API для URL(String spec) записи конструктора

MalformedURLException- если протокол не указан , или неизвестный протокол , или spec is null .

Таким образом, он проверяет толькоаргумент для not-null и, если он не null - еще одна проверка правильности / существующего протокола (схемы).

Конструкторы URI различны - они выдают java.net.URISyntaxException во время выполнения в обоих случаях, обнаруживая недопустимые символы.

1) Почему MalformedURLException так сильно ограничивается только проверкой протокола?Это вводит в заблуждение относительно его названия "Неправильный URL" ...

2) Я всегда предпочитаю использовать URI, а не URL, и оставлен ли URL только по причинам устаревшего / совместимости?

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