Junior — Middle
Чӣ гуна бояд муносибати истисноҳоро дар корутинҳои асинхронӣ амалӣ кард?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, барои идора кардани истисноҳо дар корутинҳо, шумо метавонед блокҳои try-catch-ро дар дохили худи корутин истифода баред ё сохтмонҳои махсус, мисли CoroutineExceptionHandler.
Масалан бо try-catch дар дохили корутин:
launch {
try {
val result = someSuspendFunction()
println(result)
} catch (e: Exception) {
println("Хатогӣ: ${e.message}")
}
}
Агар корутин тавассути launch оғоз ёбад, истисноҳои беҳолатон ба CoroutineExceptionHandler мегузаранд:
val handler = CoroutineExceptionHandler { _, exception ->
println("Ҳалшудаи истисно: ${exception.message}")
}
GlobalScope.launch(handler) {
throw RuntimeException("Хатои дар корутин")
}
Ин тариқ, шумо метавонед хатоҳоро дар коди асинхронӣ боэътимод идора кунед.