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.