Sobes.tech
Junior — Middle

Ποιος είναι ο ρόλος και η εφαρμογή του CoroutineExceptionHandler στη διαχείριση σφαλμάτων μέσα σε κορουτίνες;

sobes.tech AI

Απάντηση από AI

Το CoroutineExceptionHandler είναι μια διεπαφή στο Kotlin Coroutines που επιτρέπει τη κεντρική διαχείριση των μη χειρισμένων εξαιρέσεων που εμφανίζονται σε κορουτίνες.

Ρόλος και εφαρμογή:

  • Επιτρέπει τον ορισμό της λογικής διαχείρισης σφαλμάτων που δεν έχουν πιαστεί μέσα στην ίδια την κορουτίνα.
  • Χρησιμοποιείται για την παγκόσμια διαχείριση εξαιρέσεων, π.χ., για καταγραφή ή ειδοποίηση του χρήστη.
  • Προστίθεται στο πλαίσιο της κορουτίνας κατά την εκκίνησή της.

Παράδειγμα χρήσης:

val handler = CoroutineExceptionHandler { _, exception ->
    println("Πιάστηκε εξαίρεση: $exception")
}

GlobalScope.launch(handler) {
    throw RuntimeException("Σφάλμα στην κορουτίνα")
}

Σε αυτό το παράδειγμα, η εξαίρεση που ρίχνεται στην κορουτίνα θα πιαστεί και θα διαχειριστεί από το CoroutineExceptionHandler, αποτρέποντας την πτώση της εφαρμογής.