Приложении закрывается с ошибкой при обращении к несуществующему серверу
Не так давно погружаюсь в Андроид-разработку. Решил написать простенькое приложение исключительно для отработки навыков и знакомства с библиотеками. Для сетевого взаимодействия решил использовать фреймворк Ktor, на котором написал простенький сервер. Сервер при GET запросе к нему отвечает текстом. Всё максимально просто. В приложении была реализована следующая логика:
- Приложение отправляет GET запрос на сервер
- Ответ сравнивается с ожидаемым
- При соответствии переход на активити 1, при несоответствии на активити 2. Тут тоже всё максимально просто.
Удалось добиться рабочего кода:
private fun sentToken() { // Функция для реализации сетевого взаимодействия
val client = HttpClient()
GlobalScope.launch(Dispatchers.IO) {
val response: String = client.get(BASE_URL)
client.close()
// Функция, реализующая переход на активити 1 или 2
serverResponse(response)
}
}
В чём же проблема?
Суть в том, что всё хорошо работает при активном сервере. Но стоит завершить его работу или отключить wifi, приложение вылетает с ошибкой. Как задать логику в случае полного отсутствия ответа сервера?