簡體   English   中英

不拋出異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM