我试图在我正在构建的Android应用程序中发出一个http POST请求,但无论我使用哪个url请求,Eclipse都会引发格式错误的URL异常。我已经尝试过一个Android教程中的一行代码:
URL url = new URL("https://wikipedia.org");
即使这会触发错误。是否有理由为我尝试创建的任何URL不断引发此错误?
答案 0 :(得分:58)
这不是提出例外,它抱怨你没有处理the possibility that it might,即使它没有成功,因为在这种情况下,URL没有格式错误。 (Java的设计师认为这个概念,"检查异常",是一个好主意,虽然在实践中it hasn't worked well.)
要将其关闭,请将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
。