Junior — Middle
Ποιος είναι ο ρόλος και η εφαρμογή του CoroutineExceptionHandler στη διαχείριση σφαλμάτων μέσα σε κορουτίνες;
sobes.tech AI
Απάντηση από AI
Το CoroutineExceptionHandler είναι μια διεπαφή στο Kotlin Coroutines που επιτρέπει τη κεντρική διαχείριση των μη χειρισμένων εξαιρέσεων που εμφανίζονται σε κορουτίνες.
Ρόλος και εφαρμογή:
- Επιτρέπει τον ορισμό της λογικής διαχείρισης σφαλμάτων που δεν έχουν πιαστεί μέσα στην ίδια την κορουτίνα.
- Χρησιμοποιείται για την παγκόσμια διαχείριση εξαιρέσεων, π.χ., για καταγραφή ή ειδοποίηση του χρήστη.
- Προστίθεται στο πλαίσιο της κορουτίνας κατά την εκκίνησή της.
Παράδειγμα χρήσης:
val handler = CoroutineExceptionHandler { _, exception ->
println("Πιάστηκε εξαίρεση: $exception")
}
GlobalScope.launch(handler) {
throw RuntimeException("Σφάλμα στην κορουτίνα")
}
Σε αυτό το παράδειγμα, η εξαίρεση που ρίχνεται στην κορουτίνα θα πιαστεί και θα διαχειριστεί από το CoroutineExceptionHandler, αποτρέποντας την πτώση της εφαρμογής.