2013-09-17 4 views
1

У меня есть HttpHostConnectException ... Это нормально, потому что сервер отключен. Поэтому я хочу сгладить это исключение для ситуации, сервер не будет работать.HttpHostConnectException - Как я могу уловить его правильно?

Но если я использую

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

ничего не происходит, и исключение будет убить ход процесса. Итак, как я могу поймать «недоступные» серверы? Спасибо вашего для вашего времени и помощи;)

ответ

2

Вызова e.printStackTrace(); будет убивать ваше приложение, как исключение не обрабатывается

e.printStackTrace(); распечатывает исключение на к LogCat и покажут ошибку или разобьют вам приложение

либо вы можете отобразить исключения как строка или сделать статический текст в качестве тоста говоря сервера недостижимого

catch (HttpHostConnectException e) 

{ 

Toast.makeText(getApplicationContext(), "Server Unreachable ", Toast.LENGTH_LONG).show(); 

} 

, если вы хотите, чтобы показать, что была актуальной проблемой/исключение, которое было вызвано использовать

catch (HttpHostConnectException e) 

{ 

Toast.makeText(getApplicationContext(), "Connection Timeout Reason "+string.ValueOf(e), Toast.LENGTH_LONG).show(); 

} 

Делая это приложение не будет убивать себя и перейти к следующей строке кода

вам также может это сделать

Log.v(locat, exception.toString()); 
+0

Что вы имеете в виду с «исключением не обрабатывается»? Как я могу справиться с этим? Теперь он работает, потому что я отменяю AsyncTask, в котором находится HTTP-запрос, когда происходит Исключение. Но printStackTrace() все еще работает. – Bolic

+0

@Bolic исключение - это печать в stacktrace, а затем приложение закроется. Если ваше приложение получает исключение, вы печатаете его в стек и ничего не делаете с исключением – Metalhead1247

+0

спасибо. Кажется, я не так жестко разбираюсь в java, как я думал. Мое мнение было, если я поймаю исключение, это хорошо сделано. Но я должен справиться с этим, если поймаю его. – Bolic

Смежные вопросы