Kotlin:
Manejo de errores

Cómo hacerlo:

Kotlin proporciona try, catch, finally y throw para gestionar errores. Así es cómo los utilizas:

fun main() {
    val numerador = 10
    val denominador = 0

    try {
        val resultado = numerador / denominador
        println("Resultado: $resultado")
    } catch (e: ArithmeticException) {
        println("No se puede dividir por cero, amigo.")
    } finally {
        println("Esto sucede pase lo que pase.")
    }
}

Salida:

No se puede dividir por cero, amigo.
Esto sucede pase lo que pase.

Si algo sale mal en el bloque try, la ejecución salta al catch. Captura el error específico lanzado (ArithmeticException en este caso). El bloque finally se ejecuta después, sin importar el resultado.

Análisis Detallado

El bloque try-catch ha existido desde los primeros días de la programación—es como una red de seguridad. Kotlin también ofrece throw para lanzar manualmente una excepción al ruedo, y está finally para código que tiene que ejecutarse—trabajo de limpieza, a menudo.

Las alternativas incluyen el tipo Result y el try de Kotlin como una expresión.

val result: Result<Int> = try {
    Result.success(numerador / denominador)
} catch (e: ArithmeticException) {
    Result.failure(e)
}

Este enfoque devuelve un objeto Result—consigues un éxito o un fracaso sin el drama de una excepción no manejada.

La implementación en Kotlin es ordenada porque puedes usar try como una expresión, lo que significa que devuelve un valor. Opciones como estas hacen que el manejo de errores en Kotlin sea bastante versátil. Se trata de elegir la herramienta adecuada para el trabajo, como lo harías en un taller.

Ver También

  • Documentación de Kotlin sobre Excepciones: Manejo de Excepciones en Kotlin
  • Documentación del tipo Result de Kotlin: Resultado en Kotlin
  • Effective Java, 3ª Edición, de Joshua Bloch—grandes perspectivas sobre las excepciones, aunque es específico de Java.