Junior — Middle
Asinxron korutinlərdə istisna idarəsini necə həyata keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də, korutinlərdə istisnaları idarə etmək üçün, korutin daxilində try-catch bloklarından istifadə edə bilərsiniz və ya CoroutineExceptionHandler kimi xüsusi quruluşları tətbiq edə bilərsiniz.
Korutin daxilində try-catch nümunəsi:
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Xəta: ${e.message}")
}
}
Əgər korutina launch ilə başlayıbsa, işlənməmiş istisnalar CoroutineExceptionHandler-ə ötürülür:
val handler = CoroutineExceptionHandler { _, exception ->
println("İdarə olunan istisna: ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Korutina xətası")
}
Beləliklə, asinxron kodda xətaları elastik şəkildə idarə etmək mümkündür.