Sobes.tech
Junior

Comment gérer les exceptions en Kotlin?

sobes.tech IA

Réponse de l'IA

En Kotlin, les blocs try, catch et finally sont utilisés pour gérer les exceptions.

fun divide(a: Int, b: Int): Int {
    try {
        // Code potentiellement dangereux
        return a / b
    } catch (e: ArithmeticException) {
        // Gestion d'une exception spécifique
        println("Erreur : division par zéro !")
        return 0
    } catch (e: Exception) {
        // Gestion des exceptions générales
        println("Une erreur inconnue est survenue : ${e.message}")
        throw e // Relancer l'exception si nécessaire
    } finally {
        // Code qui s'exécute dans tous les cas (indépendamment de l'exception)
        println("Nettoyage des ressources ou autres actions finales")
    }
}
  • Le bloc try contient le code qui peut lancer une exception.
  • Le bloc catch est utilisé pour intercepter et gérer les exceptions. Plusieurs blocs catch peuvent être utilisés pour différents types d'exceptions. Les types d'exceptions sont capturés dans l'ordre de leur déclaration.
  • Le bloc finally contient du code qui s'exécute toujours, que l'exception ait été levée ou non. Ce bloc est souvent utilisé pour libérer des ressources.

Contrairement à Java, Kotlin ne possède pas d'exceptions obligatoires à gérer ("checked"). Toutes les exceptions en Kotlin sont "unchecked".

Pour lancer des exceptions, on utilise le mot-clé throw :

fun validateAge(age: Int) {
    if (age < 0) {
        throw IllegalArgumentException("L'âge ne peut pas être négatif")
    }
    // ...
}

Il est également possible d'utiliser des classes d'exceptions standard de la bibliothèque ou d'en créer de propres, en héritant de Exception ou RuntimeException.