簡體   English   中英

為什么此已處理的異常導致強制關閉? [GeoCoder]

[英]Why is this handled exception causing a Force Close? [GeoCoder]

我的AsyncTask中包含以下內容:

@Override
protected Void doInBackground(Context... c) {

    try {
        context = c[0];

        myLocation = new Geocoder((Activity)context, Locale.getDefault()); 

        if(myLocation.isPresent())
            myList = myLocation.getFromLocation(LocationHandler.getLat(), LocationHandler.getLon(), 1);
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
    catch (Exception e) 
    {
        e.printStackTrace();
    }

    return null;
}

如果我在沒有網絡連接的情況下運行此AsyncTask,則我的應用程序將使用以下堆棧輸出強制關閉:

 java.io.IOException: Unable to parse response from server
 at android.location.Geocoder.getFromLocation(Geocoder.java:136)
 at com.soyo.winnipegtransit.location.UpdateGeoCoderName.doInBackground(UpdateGeoCoderName.java:44)
 at com.soyo.winnipegtransit.location.UpdateGeoCoderName.doInBackground(UpdateGeoCoderName.java:1)
 at android.os.AsyncTask$2.call(AsyncTask.java:185)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
 at java.lang.Thread.run(Thread.java:1019)

我不確定為什么無法處理此異常?

我也遇到過類似的問題,但未處理異常。 通常只用一個catch語句處理異常就可以解決,不要問我怎么做,但是我敢肯定這背后有充分的理由。 您是否嘗試過刪除catch(IOException e)並僅保留catch(Exception e)

瑞安

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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