0

助けが必要です。Webサイトを解析するアプリを開発しました。すべてがうまく機能するようになりました(これもあなたのおかげです)。しかし、解析したいサイトがダウンしているときに問題が発生します。アプリがクラッシュするだけです...タイムアウト接続を改善しようとしましたが、これはサイトが遅い場合に機能します。しかし、どうすればサーバーダウンエラーを管理できますか?そのようなテキストビューにエラーを印刷したいと思います。これは私のコードの一部です

String result = "";
                Document doc = null;
                try {
                      Connection conn = Jsoup.connect(BLOG_URL).timeout(14000);
                        doc = conn.get();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
4

1 に答える 1

2

以下に示すように、サーバーがダウンしたときのクラッシュを処理します。

private class doSomethingDelayed extends AsyncTask<Void, Integer, Void> {

    private int num_runs = 0;

    @Override
    protected Void doInBackground(Void... gurk) {

        try {
                   //stuffs...
         publishProgress(num_runs);
    } catch (ClientProtocolException e) {
    } catch (IOException e) {
        serviceAvailable = true;                    
    } catch (Exception e) {
        e.printStackTrace();
    }
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        if (serviceAvailable == true) {
            serviceAvailable = false;
            Toast.makeText(getApplicationContext(), "Service not available", Toast.LENGTH_SHORT).show();
            System.out.println("in onPostExecute method --");
        }
    }

    @Override
    protected void onProgressUpdate(Integer... num_runs) {
        try {

        } catch (JSONException e) {
            e.printStackTrace();

        }
    }
}
于 2013-01-07T14:20:53.583 に答える