Junior
¿Cómo manejar las excepciones en Kotlin?
sobes.tech AI
Respuesta de la IA
En Kotlin, se utilizan bloques try, catch y finally para manejar excepciones.
fun divide(a: Int, b: Int): Int {
try {
// Código potencialmente peligroso
return a / b
} catch (e: ArithmeticException) {
// Manejo de excepciones específicas
println("Error: división por cero!")
return 0
} catch (e: Exception) {
// Manejo de excepciones generales
println("Ocurrió un error desconocido: ${e.message}")
throw e // Re-lanzar la excepción si es necesario
} finally {
// Código que se ejecuta en cualquier caso (independientemente de la excepción)
println("Limpieza de recursos u otras acciones finales")
}
}
- El bloque
trycontiene el código que puede lanzar una excepción. - El bloque
catchse usa para capturar y manejar excepciones. Se pueden usar varios bloquescatchpara diferentes tipos de excepciones. Los tipos de excepciones se capturan en el orden en que se declaran. - El bloque
finallycontiene código que siempre se ejecuta, independientemente de si se lanzó o no una excepción. Este bloque se usa a menudo para liberar recursos.
A diferencia de Java, Kotlin no tiene excepciones obligatorias de manejar ("checked"). Todas las excepciones en Kotlin son "unchecked".
Para lanzar excepciones, se usa la palabra clave throw:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("La edad no puede ser negativa")
}
// ...
}
También se pueden usar clases de excepciones estándar de la biblioteca o crear propias, heredando de Exception o RuntimeException.