Sobes.tech
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.