Наше приложение имеет много сетевых запросов, и мы используем сопрограммы с Retrofit следующим образом:
suspend fun fetchAccountInfo() {
val api = retrofit.create(MainActivityApi::class.java)
val versionResponse = api.getVersionAsync().await()
...
}
Проблема в том, что когда устройство не подключено к интернету, Retrofit выдаст исключение, и приложение вылетит. Я нашел эту ссылку , в которой написано, поместите await () в попытку / уловку так:
suspend fun fetchAccountInfo() {
val api = retrofit.create(MainActivityApi::class.java)
try {
val versionResponse = api.getVersionAsync().await()
} catch(e: Exception) {
//
}
...
}
Но у нашего приложения много сетевых запросов, и это решение нам не подходит. Как я могу предотвратить падение приложения, не помещая все вызовы await () в try / catch?