Junior
Cum se gestionează excepțiile în Kotlin?
sobes.tech AI
Răspuns de la AI
În Kotlin, blocurile try, catch și finally sunt utilizate pentru tratarea excepțiilor.
fun divide(a: Int, b: Int): Int {
try {
// Cod potențial periculos
return a / b
} catch (e: ArithmeticException) {
// Tratarea excepției specifice
println("Eroare: împărțirea la zero!")
return 0
} catch (e: Exception) {
// Tratarea excepțiilor generale
println("A apărut o eroare necunoscută: ${e.message}")
throw e // Aruncarea din nou a excepției dacă este necesar
} finally {
// Cod care se execută în orice caz (indiferent dacă a fost aruncată o excepție sau nu)
println("Curățarea resurselor sau alte acțiuni finale")
}
}
- Blocul
tryconține codul care poate arunca o excepție. - Blocul
catcheste folosit pentru a captura și trata excepțiile. Se pot folosi mai multe blocuricatchpentru diferite tipuri de excepții. Tipurile de excepții sunt capturate în ordinea în care sunt declarate. - Blocul
finallyconține codul care se execută întotdeauna, indiferent dacă a fost aruncată o excepție sau nu. Acest bloc este adesea folosit pentru eliberarea resurselor.
Spre deosebire de Java, Kotlin nu are excepții "checked" obligatorii. Toate excepțiile în Kotlin sunt "unchecked".
Pentru a arunca excepții, se folosește cuvântul cheie throw:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Vârsta nu poate fi negativă")
}
// ...
}
De asemenea, se pot folosi clase standard de excepții din bibliotecă sau se pot crea propriile clase, moștenind de la Exception sau RuntimeException.