Junior — Middle
Асинхрондук корутиндерде ката кетирүүнү кантип ишке ашыруу керек?
sobes.tech AI
AIден жооп
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("Xato: ${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.