Kotlin:
Gestion des erreurs
Comment faire :
Kotlin fournit try
, catch
, finally
et throw
pour gérer les erreurs. Voici comment les utiliser :
fun main() {
val numerateur = 10
val denominateur = 0
try {
val resultat = numerateur / denominateur
println("Résultat : $resultat")
} catch (e: ArithmeticException) {
println("On ne peut pas diviser par zéro, l'ami.")
} finally {
println("Cela arrive quoi qu'il en soit.")
}
}
Sortie :
On ne peut pas diviser par zéro, l'ami.
Cela arrive quoi qu'il en soit.
Si quelque chose tourne mal dans le bloc try
, l’exécution se déplace vers catch
. Il capture l’erreur spécifique lancée (l’ArithmeticException
dans ce cas). Le block finally
s’exécute après — quel que soit le résultat.
Plongée en profondeur
Le bloc try-catch
existe depuis les premiers jours de la programmation — c’est comme un filet de sécurité. Kotlin offre également throw
pour jeter manuellement une exception dans l’arène, et il y a finally
pour le code qui doit être exécuté — souvent des travaux de nettoyage.
Les alternatives comprennent le type Result
et try
de Kotlin en tant qu’expression.
val resultat: Result<Int> = try {
Result.success(numerateur / denominateur)
} catch (e: ArithmeticException) {
Result.failure(e)
}
Cette approche retourne un objet Result
— vous obtenez soit un succès, soit un échec sans le drame d’une exception non gérée.
L’implémentation en Kotlin est élégante car vous pouvez utiliser try
comme une expression, ce qui signifie qu’elle retourne une valeur. Des choix comme ceux-ci rendent la gestion des erreurs en Kotlin assez polyvalente. Il s’agit de choisir le bon outil pour le travail, tout comme vous le feriez dans un atelier.
Voir aussi
- Docs Kotlin sur les Exceptions : Gestion des exceptions Kotlin
- Docs sur le type
Result
de Kotlin : Résultat Kotlin - Effective Java, 3e édition, par Joshua Bloch — d’excellentes perspectives sur les exceptions, même si c’est spécifique à Java.