[英]Exception is not not thrown
我嘗試在Android下開發。 現在,我嘗試使用網絡。
我有“經理班”
private String makeQuery(String string){
Log.d("makeQuery", "in");
try{
NetTask a = new NetTask(server_url);
}catch(IOException e){
Log.d("makeQuery", "exception");
}
Log.d("makeQuery", "out");
return "string";
}
它具有通過HTTP查詢到我自己的API服務器的方法。 它使用NetTask對象,NetTask繼承AsyncTask
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);
}
就我而言,我得到下一個日志:
[makeQuery]
[NetTask]
所以,為什么要行Log.d(“ makeQuery”,“ out”); 無法到達?
為什么選擇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");
}
但好的做法是捕獲正確的Exception,對異常處理進行注釋,並在LogCat中查找Exception類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.