Java格式错误的URL异常

时间:2014-06-25 19:26:28

标签: java android malformedurlexception

我试图在我正在构建的Android应用程序中发出一个http POST请求,但无论我使用哪个url请求,Eclipse都会引发格式错误的URL异常。我已经尝试过一个Android教程中的一行代码:

URL url = new URL("https://wikipedia.org");

即使这会触发错误。是否有理由为我尝试创建的任何URL不断引发此错误?

1 个答案:

答案 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