Junior
Kotlin-də istisnaları necə idarə etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də istisnaları idarə etmək üçün try, catch və finally bloklarından istifadə olunur.
fun divide(a: Int, b: Int): Int {
try {
// Potensial təhlükəli kod
return a / b
} catch (e: ArithmeticException) {
// Xüsusi istisnanın işlənməsi
println("Xəta: sıfıra bölmə!")
return 0
} catch (e: Exception) {
// Ümumi istisnaların işlənməsi
println("Naməlum xəta baş verdi: ${e.message}")
throw e // Lazım olsa, istisnanı yenidən atmaq
} finally {
// Hər halda icra olunan kod (istisna olsa da, olmasa da)
println("Resursların təmizlənməsi və ya digər yekun tədbirlər")
}
}
trybloku istisna yarada biləcək kodu ehtiva edir.catchbloku istisnaları tutmaq və işləmək üçün istifadə olunur. Müxtəlif növ istisnalar üçün bir neçəcatchbloku istifadə edilə bilər. İstisna növləri elan olunma ardıcıllığında tutulur.finallybloku hər zaman icra olunan kodu ehtiva edir, istisna atılıb-atılmamasından asılı olmayaraq. Bu blok tez-tez resursların azad olunması üçün istifadə olunur.
Java ilə müqayisədə, Kotlin-də "checked" istisnalar məcburi deyil. Bütün istisnalar "unchecked"-dir.
İstisnaları atmaq üçün throw açar sözü istifadə olunur:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Yaş mənfi ola bilməz")
}
// ...
}
Həmçinin, standart kitabxanadan olan istisna sinflərindən istifadə etmək və ya öz sinflərinizi yaratmaq mümkündür, Exception və ya RuntimeException-dən irsən.