В тестовом пакете JUnit я создаю объект java.net.URL
и использую его в различных утверждениях assert. Тем не менее, конструктор для объекта URL создает исключение MalformedURLException, которое должно быть перехвачено. Поскольку это должно быть перехвачено, конструктор должен быть заключен в try / catch, а это означает, что вы должны поместить переменную в область видимости за пределами try / catch.
Пример кода:
URL ocURL = null;
try {ocURL = new URL("https://docs.oracle.com/javase/8/docs/api/java/net/URL.html");}
catch (MalformedURLException e) {}
assertEquals(variable, ocURL)
По общему признанию, это полностью эстетично: мне не нравится весь дополнительный код без смысла засорять мой экран. Поскольку я передаю URL-адрес в виде строки, я знаю, что он будет хорошим, поэтому исключение не может быть выдано (хотя и последние известные слова).
Есть ли способ избежать объявления объекта URL, а затем инициализировать его внутри try / catch? Есть ли способ построить объект java.net.URL
без необходимости перехвата (несуществующего) исключения?