Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Fedorych
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 44
#1

Exception в AsyncTask - Программирование Android

21.04.2013, 23:06. Просмотров 1432. Ответов 5
Метки нет (Все метки)

Доброго всем.
Проблема вот в чем: периодически во время выполнения одного из потоков в AsyncTask вылетает следующее:
Кликните здесь для просмотра всего текста
04-21 19:00:22.275: E/AndroidRuntime(338): FATAL EXCEPTION: AsyncTask #1
04-21 19:00:22.275: E/AndroidRuntime(338): java.lang.RuntimeException: An error occured while executing doInBackground()
04-21 19:00:22.275: E/AndroidRuntime(338): at android.os.AsyncTask$3.done(AsyncTask.java:200)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.lang.Thread.run(Thread.java:1019)
04-21 19:00:22.275: E/AndroidRuntime(338): Caused by: java.lang.NullPointerException
04-21 19:00:22.275: E/AndroidRuntime(338): at com.paad.hsclient.MainActivity$MyParser.doInBackground(MainActivity.java:201)
04-21 19:00:22.275: E/AndroidRuntime(338): at com.paad.hsclient.MainActivity$MyParser.doInBackground(MainActivity.java:1)
04-21 19:00:22.275: E/AndroidRuntime(338): at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-21 19:00:22.275: E/AndroidRuntime(338): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-21 19:00:22.275: E/AndroidRuntime(338): ... 4 more
04-21 19:00:22.855: E/WindowManager(338): Activity com.paad.hsclient.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40534e28 that was originally added here
04-21 19:00:22.855: E/WindowManager(338): android.view.WindowLeaked: Activity com.paad.hsclient.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40534e28 that was originally added here
04-21 19:00:22.855: E/WindowManager(338): at android.view.ViewRoot.<init>(ViewRoot.java:258)
04-21 19:00:22.855: E/WindowManager(338): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
04-21 19:00:22.855: E/WindowManager(338): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
04-21 19:00:22.855: E/WindowManager(338): at android.view.Window$LocalWindowManager.addView(Window.java:424)
04-21 19:00:22.855: E/WindowManager(338): at android.app.Dialog.show(Dialog.java:241)
04-21 19:00:22.855: E/WindowManager(338): at com.paad.hsclient.MainActivity$MyParser.onPreExecute(MainActivity.java:187)
04-21 19:00:22.855: E/WindowManager(338): at android.os.AsyncTask.execute(AsyncTask.java:391)
04-21 19:00:22.855: E/WindowManager(338): at com.paad.hsclient.MainActivity.onCreate(MainActivity.java:125)
04-21 19:00:22.855: E/WindowManager(338): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-21 19:00:22.855: E/WindowManager(338): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-21 19:00:22.855: E/WindowManager(338): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-21 19:00:22.855: E/WindowManager(338): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-21 19:00:22.855: E/WindowManager(338): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-21 19:00:22.855: E/WindowManager(338): at android.os.Handler.dispatchMessage(Handler.java:99)
04-21 19:00:22.855: E/WindowManager(338): at android.os.Looper.loop(Looper.java:123)
04-21 19:00:22.855: E/WindowManager(338): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-21 19:00:22.855: E/WindowManager(338): at java.lang.reflect.Method.invokeNative(Native Method)
04-21 19:00:22.855: E/WindowManager(338): at java.lang.reflect.Method.invoke(Method.java:507)
04-21 19:00:22.855: E/WindowManager(338): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-21 19:00:22.855: E/WindowManager(338): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-21 19:00:22.855: E/WindowManager(338): at dalvik.system.NativeStart.main(Native Method)

Вот код doInBackGround:
Java
1
2
3
4
5
6
7
8
9
@Override
        protected String doInBackground(String... links) {  
            try {
                doc = Jsoup.connect(links[0]).get();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return doc.toString();
        }
Как видно из кода я не делаю никаких UI'шных телодвижений в данном потоке, но, проект может 2 дня нормально компилиться, а потом ни с того ни с сего часа 4-5 при запуске постоянно вылетает данная ошибка(при том, что в коде doInBackGround я никаких изменений не вношу), и по прошествии этих 4-5 часов все начинает опять нормально работать как ни в чем небывало.
Может знает кто, в чем тут проблема?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 23:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Exception в AsyncTask (Программирование Android):

FATAL EXCEPTION: AsyncTask #3 - Программирование Android
Не могу понять в чем проблема гуглил ничего не смог найти (я новичек уж извините)). 01-21 12:29:10.019:...

Throwing new exception with unexpected pending exception - Программирование Android
Добрый день. Сразу перейдем к коду: public interface ApiInterface { @GET(&quot;object/preview&quot;)

AsyncTask - Программирование Android
Привет. Знаю, что в AsyncTask doInBackground() обращатся к компонентам UI нельзя. Когда я пытаюсь обновить вывод (в EditText) в...

AsyncTask - Программирование Android
Здравствуйте, при использовании двух одинаковых методов получается разный результат. AsyncTask в одном случае успешно передает данные в...

AsyncTask и get() - Программирование Android
Создаю асинхронный процесс, где в onPreExecute() запускаю анимированный ProgressDialog. После выполнения задачи нужно выполнить действия....

AsyncTask - Программирование Android
Использую AsyncTasc class MyT extends AsyncTask&lt;Void, Void, Void&gt; { @Override protected Void doInBackground(Void......

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.04.2013, 23:13 #2
Цитата Сообщение от Fedorych Посмотреть сообщение
MainA ctivity.java:201
что в этой строке?
0
Fedorych
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 44
21.04.2013, 23:20  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
что в этой строке?
Java
1
return doc.toString();
Вот это там
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.04.2013, 23:29 #4
значит конекшен не удался и doc == null, добавьте проверку на null. видимо этих 4-5 часов просто не работал сервер.
0
Fedorych
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 44
21.04.2013, 23:31  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
значит конекшен не удался и doc == null, добавьте проверку на null. видимо этих 4-5 часов просто не работал сервер.
Точно так же и я сначала подумал, и постоянно при подобной ошибке чрез браузер проверял доступность сайта - он всегда был доступен
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.04.2013, 23:35 #6
может вайфай был выключен?)

и по идее должны быть логи от конекшена
Цитата Сообщение от Fedorych Посмотреть сообщение
e.printStackTrace();
перепроверьте логи.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2013, 23:35
Привет! Вот еще темы с ответами:

Отмена AsyncTask - Программирование Android
Привет. Есть такой код: @Override protected Void doInBackground(Void... params) { try { Interpret(Source.get()); }...

MainActivity AsyncTask - Программирование Android
Добрый вечер. Ребята тут небольшая проблема. Мне нужно Заполнить NavigatorDrawer (из базы). Почему когда я пытаюсь в...

Не работает AsyncTask - Программирование Android
Не работает AsyncTask , вот код: private void registerInBackground() { new AsyncTask() { @Override ...

AsyncTask+CheckBox - Программирование Android
Здравствуйте, интересует вопрос нужно в функцию AsyncTask послать несколько строк, в зависимости какие Чекбоксы чекнуты. Ну например: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.04.2013, 23:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru