Junior — Middle
Ինչպե՞ս իրականացնել արտակարգ իրավիճակների մշակումը ասինխրոն կուրիններում։
sobes.tech AI
Պատասխան AI-ից
Kotlin-да, korutinlarda istisnalarni boshqarish uchun, korutin ichida try-catch bloklarini ishlatishingiz yoki CoroutineExceptionHandler kabi maxsus tuzilmalarni qoʻllashingiz mumkin.
Korutin ichida try-catch misoli:
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Xato: ${e.message}")
}
}
Agar korutina launch orqali boshlatilgan bo‘lsa, ishlov berilmagan istisnalar CoroutineExceptionHandler ga uzatiladi:
val handler = CoroutineExceptionHandler { _, exception ->
println("Boshqarilgan istisno: ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Korutina xatosi")
}
Shu tarzda, asinxron kodda xatoliklarni moslashuvchan tarzda boshqarish mumkin.