Junior
Kuidas Kotlinis erandeid töödelda?
sobes.tech AI
Vastus AI-lt
Kotlinis kļūdu apstrādei izmanto try, catch un finally blokus.
fun divide(a: Int, b: Int): Int {
try {
// Potenciāli bīstams kods
return a / b
} catch (e: ArithmeticException) {
// Īpašas kļūdas apstrāde
println("Kļūda: dalīšana ar nulli!")
return 0
} catch (e: Exception) {
// Vispārējas kļūdas apstrāde
println("Notika nezināma kļūda: ${e.message}")
throw e // Pārsūtīt kļūdu, ja nepieciešams
} finally {
// Kods, kas tiek izpildīts jebkurā gadījumā (neatkarīgi no kļūdas)
println("Resursu atbrīvošana vai citas noslēguma darbības")
}
}
trybloks satur kodu, kas var izraisīt kļūdu.catchbloks tiek izmantots kļūdu uztveršanai un apstrādei. Var izmantot vairākuscatchblokus, lai apstrādātu dažāda veida kļūdas. Kļūdu tipi tiek uztverti to deklarēšanas secībā.finallybloks satur kodu, kas tiek izpildīts vienmēr, neatkarīgi no tā, vai kļūda tika izraisīta un vai tā tika uztverta. Šis bloks bieži tiek izmantots resursu atbrīvošanai.
Atšķirībā no Java, Kotlin nav obligātu ("checked") kļūdu. Visas kļūdas Kotlin ir "unchecked".
Kļūdu izsaukšanai tiek izmantots atslēgvārds throw:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Vecums nevar būt negatīvs")
}
// ...
}
Tāpat var izmantot standarta kļūdu klases no standarta bibliotēkas vai izveidot savas, mantojoties no Exception vai RuntimeException.