Sobes.tech
Junior — Middle

Kotlin Coroutines ile çalışırken hata işleme konusunda hangi özellikleri biliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin Coroutines içinde hata yönetimi, asenkronluk ve coroutine yapısıyla ilgili kendi özelliklerine sahiptir:

  • Coroutine hiyerarşisi ve iptal: Alt coroutine'lerdeki hatalar, eğer yakalanmazsa, ana coroutine'yi iptal edebilir.
  • CoroutineExceptionHandler: Coroutine'lerde yakalanmamış istisnalar için özel bir işleyici olup, coroutine oluşturulurken atanabilir.
  • try-catch içindeki coroutine: Suspend fonksiyonları içinde istisnaları işlemek için normal try-catch kullanılabilir.
  • SupervisorJob: Çocuk coroutine'lerin bağımsız çalışmasını sağlar, böylece birinde hata diğerlerini iptal etmez.

CoroutineExceptionHandler kullanım örneği:

val handler = CoroutineExceptionHandler { _, exception ->
    println("Yakalandı $exception")
}

GlobalScope.launch(handler) {
    throw AssertionError("Özel hatam")
}

Bu nedenle, bağlam ve coroutine yapısına bağlı olarak hata yönetimi stratejisini doğru seçmek önemlidir.