我目前正在编写一个简单的方法来快速构建一个 HttpURLConnection 并且我在理解发生的异常时遇到了一些问题。它目前看起来像这样:
public static HttpURLConnection buildConnection(String urlString) throws IOException{
try{
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(10000 /* 10 seconds */);
connection.setConnectTimeout(10000 /* 10 seconds */);
return connection;
} catch (MalformedURLException e){
// Impossible - All network URLs are taken from String resources
Log.w(LOG_LABEL, "URL \"" + urlString + "\" was malformed");
e.printStackTrace();
return null;
} catch (ProtocolException e){
// Impossible - "GET" is a valid Request method
e.printStackTrace();
return null;
}
}
我捕获并记录 MalformedURLException 和 ProtocolException 异常,因为我知道它们不可能发生。但是我抛出了 url.openConnection() 可能抛出的 IOException。这是什么异常?是什么原因造成的,我的应用程序在发生这种情况时应该如何表现?
非常感谢大家,威廉