2017-02-02 4 views
0

У меня есть этот следующий код:Jsoup: Android App врезается

String webPage = "http://www.something.com"; 
String html = null; 

try{ 
     html = Jsoup.connect(webPage).get().html(); 
} catch (Exception e) { 
     e.printStackTrace(); 
} 
Toast.makeText(this, html, Toast.LENGTH_SHORT).show(); 

Если его Исключение Exception код делает другие вещи (до этого кода) и не делает код в try{}, если исключение IOException, сбой приложения

+1

сообщение исключения. Я предполагаю, что connect() или get() или html() не удалось. Разбейте эту линию. Легче отлаживать – efekctive

+0

Уточните свое объяснение, где возникает исключение? – efekctive

+0

Вы хотите прочитать текст LogCat? – quidproquo

ответ

0

Кроме того, вы должны прочитать, что такое исключение Jsoup может бросать и обрабатывать каждый из них, как вы планируете, вместо того, чтобы ловить базовый класс исключения jave. Вы также можете поймать несколько исключений в одном блоке catch, если вы планируете обрабатывать их одинаково.

Пример:

String webPage = "http://www.something.com"; 
String html = null; 
try { 
    html = Jsoup.connect(webPage).get().html(); 
} catch (SocketTimeoutException|IOException e) { 
    e.printStackTrace(); 
} catch (Exception e) { 
    e.printStackTrace() 
} 
Toast.makeText(this, html, Toast.LENGTH_SHORT).show(); 
+0

Ваш код не имеет смысла и даже не будет компилироваться. 'Exception' поймает и любые подклассы; Например, «IOException». – Darwind

1

В приложение падает из-за NetworkOnMainThreadException

Вам не разрешено выполнять сетевые операции из главного потока.

Вместо этого попробуйте запустить Jsoup из AsyncTask

+0

тоже это пробовал, но как только это произойдет с IOException, он сработает – quidproquo

+0

Завершите вопрос, если вы нашли решение! – OBX