I am trying to parse a website using jsoup in AsyncTask.

And the fact is that almost always (about 4 times out of 5) exceptional situations fall out.

It rarely works correctly (

What to do with these - I do not know.

@Override protected String doInBackground(String... params) { //publishProgress(new Void[] {}); core(); return info; } void core() { Elements links; if (today) { Document doc = null; try { doc = Jsoup.connect(URL).get(); links = doc.select("table[class=translation]"); info = links.outerHtml(); }catch (Exception e){ e.printStackTrace(); Log.e("errors","try-"); core(); } } } 

The log looks like this:

 03-12 22:45:50.809: ERROR/errors(24683): try- 03-12 22:45:52.519: ERROR/errors(24683): try- 03-12 22:45:52.709: ERROR/errors(24683): try- 03-12 22:45:53.879: ERROR/errors(24683): try- 03-12 22:45:55.579: ERROR/errors(24683): try- 03-12 22:45:55.779: ERROR/errors(24683): try- 03-12 22:45:56.949: ERROR/errors(24683): try- 

Etc. Full version:

 03-13 12:22:29.419: ERROR/errors(25804): try- 03-13 12:22:32.239: INFO/InputDispatcher(176): Delivering key to current input target 03-13 12:22:32.239: INFO/PowerManagerService(176): Ulight 3->7|0 03-13 12:22:32.319: INFO/InputDispatcher(176): Delivering key to current input target 03-13 12:22:32.509: WARN/System.err(25804): java.net.SocketTimeoutException 03-13 12:22:32.519: WARN/System.err(25804): at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:461) 03-13 12:22:32.519: WARN/System.err(25804): at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:85) 03-13 12:22:32.519: WARN/System.err(25804): at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:65) 03-13 12:22:32.519: WARN/System.err(25804): at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:140) 03-13 12:22:32.529: WARN/System.err(25804): at java.io.BufferedInputStream.read(BufferedInputStream.java:225) 03-13 12:22:32.529: WARN/System.err(25804): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.readLine(HttpURLConnectionImpl.java:660) 03-13 12:22:32.529: WARN/System.err(25804): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.readResponseHeaders(HttpURLConnectionImpl.java:690) 03-13 12:22:32.529: WARN/System.err(25804): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1040) 03-13 12:22:32.529: WARN/System.err(25804): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:726) 03-13 12:22:32.529: WARN/System.err(25804): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:412) 03-13 12:22:32.529: WARN/System.err(25804): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:393) 03-13 12:22:32.529: WARN/System.err(25804): at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:159) 03-13 12:22:32.529: WARN/System.err(25804): at org.jsoup.helper.HttpConnection.get(HttpConnection.java:148) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:101) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.529: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.539: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.core(ShowBar.java:110) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.doInBackground(ShowBar.java:81) 03-13 12:22:32.549: WARN/System.err(25804): at com.parser.foot.ShowBar.doInBackground(ShowBar.java:23) 03-13 12:22:32.549: WARN/System.err(25804): at android.os.AsyncTask$2.call(AsyncTask.java:185) 03-13 12:22:32.549: WARN/System.err(25804): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 03-13 12:22:32.549: WARN/System.err(25804): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 03-13 12:22:32.549: WARN/System.err(25804): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 03-13 12:22:32.549: WARN/System.err(25804): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 03-13 12:22:32.549: WARN/System.err(25804): at java.lang.Thread.run(Thread.java:1019) 03-13 12:22:32.549: ERROR/errors(25804): try- 

    1 answer 1

    1. A typical mistake for beginners is to start writing a multi-version right away. You first debug the task without AsyncTask and then when you make sure that the algorithm is working correctly begin to divide it into a multi-thread.
    2. Output the connection from doInBackground or put it under another thread.