Junior — Middle
Asinxron korutinlarda xatoliklarni qanday boshqarish mumkin?
sobes.tech AI
AIdan javob
Kotlin tilida, korutinlarda xatoliklarni boshqarish uchun, korutinada o'z ichida try-catch bloklarini ishlatish yoki CoroutineExceptionHandler kabi maxsus tuzilmalarni qo'llash mumkin.
Korutinada try-catch bilan misol:
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Xato: ${e.message}")
}
}
Agar korutina launch orqali boshlatilgan bo'lsa, ishlov berilmagan xatoliklar CoroutineExceptionHandler ga o'tkaziladi:
val handler = CoroutineExceptionHandler { _, exception ->
println("Boshqarilgan xato: ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Korutina xatosi")
}
Shu tarzda, asinxron kodda xatoliklarni moslashuvchan tarzda boshqarish mumkin.