Este artículo se tradujo automáticamente con la API de Google Cloud Translation.
Algunas páginas pueden leerse mejor que el original.
Las excepciones son eventos que ocurren durante la ejecución de un programa que interrumpen el flujo normal de instrucciones. Kotlin proporciona un mecanismo poderoso para manejar las excepciones. En este artículo, veremos cómo manejar las excepciones en Kotlin.
Una excepción es un evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal de instrucciones. Cuando ocurre una excepción, el programa termina abruptamente.
Hay dos tipos de excepciones: marcadas y no marcadas. Las excepciones marcadas son aquellas que ocurren en tiempo de compilación, como cuando no se encuentra un archivo. Las excepciones no verificadas son aquellas que ocurren en tiempo de ejecución, como cuando ocurre un error de división por cero.
Kotlin proporciona un mecanismo poderoso para manejar las excepciones. El bloque try/catch se usa para manejar excepciones. El bloque try contiene el código que puede generar una excepción. El bloque catch contiene el código que maneja la excepción.
try {
// code that may throw an exception
} catch (e: Exception) {
// code that handles the exception
}
Si ocurre una excepción en el bloque try, se ejecuta el bloque catch. Si no se produce ninguna excepción, se omite el bloque catch.
También es posible tener múltiples bloques catch para manejar diferentes tipos de excepciones.
try {
// code that may throw an exception
} catch (e: FileNotFoundException) {
// code that handles the FileNotFoundException
} catch (e: IOException) {
// code that handles the IOException
}
El bloque finalmente es opcional. Se ejecuta tanto si se produce una excepción como si no.
try {
// code that may throw an exception
} catch (e: Exception) {
// code that handles the exception
} finally {
// code that is always executed
}
Las excepciones se pueden lanzar explícitamente usando la palabra clave throw.
throw FileNotFoundException()
Es posible crear excepciones personalizadas extendiendo la clase Exception.
class MyException: Exception() {
}