Junior
Ako spravovať výnimky v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu sa zaobchádzanie s výnimkami používajú bloky try, catch a finally.
fun divide(a: Int, b: Int): Int {
try {
// Potenciálne nebezpečný kód
return a / b
} catch (e: ArithmeticException) {
// Spracovanie špecifickej výnimky
println("Chyba: delenie nulou!")
return 0
} catch (e: Exception) {
// Spracovanie všeobecných výnimiek
println("Nastala neznáma chyba: ${e.message}")
throw e // Ak je potrebné, znovu vyvolať výnimku
} finally {
// Kód, ktorý sa vykoná v každom prípade
println("Uvoľnenie zdrojov alebo iné záverečné akcie")
}
}
- Blok
tryobsahuje kód, ktorý môže vyvolať výnimku. - Blok
catchsa používa na zachytenie a spracovanie výnimiek. Môžu sa použiť viaceré blokycatchpre rôzne typy výnimiek. Typy výnimiek sa zachytávajú v poradí ich deklarácie. - Blok
finallyobsahuje kód, ktorý sa vykoná vždy, bez ohľadu na to, či bola výnimka vyvolaná alebo nie. Tento blok sa často používa na uvoľnenie zdrojov.
Na rozdiel od Javy, Kotlin nemá povinné "checked" výnimky. Všetky výnimky v Kotlin sú "unchecked".
Na vyvolanie výnimky sa používa kľúčové slovo throw:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Vek nemôže byť záporný")
}
// ...
}
Tiež je možné použiť štandardné triedy výnimiek z knižnice alebo vytvoriť vlastné, dediace od Exception alebo RuntimeException.