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.