Java 不会引发异常
我尝试在Android下开发。现在我尝试使用网络 我有“经理课” 它具有通过HTTP查询我自己的API服务器的方法。它使用NetTask对象,NetTask继承异步任务Java 不会引发异常,java,android,exception,Java,Android,Exception,我尝试在Android下开发。现在我尝试使用网络 我有“经理课” 它具有通过HTTP查询我自己的API服务器的方法。它使用NetTask对象,NetTask继承异步任务 public class NetTask extends AsyncTask<String, Void, Void> { HttpURLConnection connection; public NetTask(URL server) throws IOException{ Log.d("NetTask"
public class NetTask extends AsyncTask<String, Void, Void> {
HttpURLConnection connection;
public NetTask(URL server) throws IOException{
Log.d("NetTask", "Create");
connection = (HttpURLConnection)server.openConnection();
connection.setReadTimeout(10000);
connection.setConnectTimeout(15000);
connection.setRequestMethod("GET");
connection.setDoInput(true);
connection.setDoOutput(true);
Log.d("NetTask", "Connect");
connection.connect();
Log.d("NetTask", "Response");
int response = connection.getResponseCode();
Log.d("NetTask", "The response is: " + response);
}
公共类NetTask扩展异步任务{
httpurl连接;
公共NetTask(URL服务器)引发IOException{
Log.d(“净任务”、“创建”);
connection=(HttpURLConnection)server.openConnection();
connection.setReadTimeout(10000);
连接。设置连接超时(15000);
connection.setRequestMethod(“GET”);
connection.setDoInput(true);
connection.setDoOutput(真);
日志d(“NetTask”、“Connect”);
connection.connect();
日志d(“净任务”、“响应”);
int response=connection.getResponseCode();
Log.d(“NetTask”,“响应为:”+响应);
}
在我的情况下,我会得到下一个日志:
[makeQuery]
- 在
- 创造
- 连接
Log.d(“makeQuery”,“out”);
行不可访问
try{
NetTask a = new NetTask(server_url);
}catch(IOException e){
Log.d("makeQuery", "exception");
}
原因是NetTask
类引发了其他类型的异常
你将改为
}catch(Exception e){
Log.d("makeQuery", "exception");
}
但是好的做法是捕获正确的异常,对异常处理进行注释,并查看日志猫中的异常类型。在捕获后使用finally。但是应该记录该异常。可能它会引发另一个异常?是的,你说得对。它会引发其他异常,我使用Exception而不是IOException,它可以正常工作。谢谢网络操作,我建议使用,或。它可能不会抛出
IOException e
exception,所以请检查logcat中的异常
}catch(Exception e){
Log.d("makeQuery", "exception");
}