Kotlin detecta el time de espera a petición del server

Hola. Todavía soy nuevo en el lenguaje kotlin, cuando solicito datos al server, por ejemplo, en java:

try{ request_server(); } catch(IOException e){ //Some toast for network timeout for example } 

¿Cómo puedo verificar si esa request tiene un time de espera de networking en Kotlin?

Kotlin no ha marcado excepciones, pero eso no significa que no pueda atrapar una IOException en Kotlin. No hay diferencia, excepto la statement de variable en catch :

 try{ request_server(); } catch(e: IOException){ //Some toast for network timeout for example } 

Sin embargo, es muy raro que veas esos constructos en el lenguaje. Dado que Kotlin tiene un soporte maravilloso para funciones de order superior, puede extraer el event handling errores en dicha function y hacer que la lógica comercial sea más obvia y también permitir la reutilización.

 fun <R> timeoutHandled(block: () -> R): R { try { return block() } catch (e: IOException) { //Some toast for network timeout for example } } 

Usado así:

 val result = timeoutHandled { requestServer() } 
  • Error al importar classs de código de proyecto en android studio 3.0
  • Kotlin: Evite crear FqNameUnsafe y FqName
  • Kotlin no puede identificar los parameters a less que se haga reference explícita
  • Obtener files adjuntos de publicaciones de Facebook devolver NullPointerException
  • Android ViewPager: cómo forzar la eliminación de todos los elementos?
  • Extendiendo la class genérica en Kotlin
  • Kotlin: No se puede usar GenericTypeIndicator para llamar al getValue de Firebase Database
  • Reproductor de video flotante de estilo Youtube
  • No se puede agregar y eliminar la opción de menu del fragment y del panel de navigation
  • La construcción de Android Studio falló con Kotlin
  • En objects receptores Kotlin y extensiones