我正在尝试在我正在构建的Android应用程序中发出一个http POST请求,但无论我用于请求的网址是什么,Eclipse都会不断提出格式错误的URL异常。我已经尝试从一个Android教程的代码行:Java格式错误的URL异常
URL url = new URL("https://wikipedia.org");
即使这会触发错误。是否有一个原因Eclipse不断提出这个错误的任何URL我尝试创建?
我正在尝试在我正在构建的Android应用程序中发出一个http POST请求,但无论我用于请求的网址是什么,Eclipse都会不断提出格式错误的URL异常。我已经尝试从一个Android教程的代码行:Java格式错误的URL异常
URL url = new URL("https://wikipedia.org");
即使这会触发错误。是否有一个原因Eclipse不断提出这个错误的任何URL我尝试创建?
它没有引发异常,它抱怨说您还没有处理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
。
检查异常并不是一个坏主意。在MalformedURLException的情况下如何使用它们。 'MalformedURLException'不应该是一个检查的异常,但是Java团队为了某种原因而这么做了,我还不明白。 – AxiomaticNexus
**未处理的异常**表示异常需要**处理** –
在异步doInBackground中使用新的url ...只有我可以避开错误。谢谢 ! – JayD
发布您的代码和LogCat。 – Sufian
适合我。发布堆栈跟踪。 –
请把你的问题的代码,而不是在评论。 – Sufian