2014-06-25 42 views
21

我正在尝试在我正在构建的Android应用程序中发出一个http POST请求,但无论我用于请求的网址是什么,Eclipse都会不断提出格式错误的URL异常。我已经尝试从一个Android教程的代码行:Java格式错误的URL异常

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

即使这会触发错误。是否有一个原因Eclipse不断提出这个错误的任何URL我尝试创建?

+0

发布您的代码和LogCat。 – Sufian

+1

适合我。发布堆栈跟踪。 –

+0

请把你的问题的代码,而不是在评论。 – Sufian

回答

53

它没有引发异常,它抱怨说您还没有处理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

+4

检查异常并不是一个坏主意。在MalformedURLException的情况下如何使用它们。 'MalformedURLException'不应该是一个检查的异常,但是Java团队为了某种原因而这么做了,我还不明白。 – AxiomaticNexus

+1

**未处理的异常**表示异常需要**处理** –

+0

在异步doInBackground中使用新的url ...只有我可以避开错误。谢谢 ! – JayD