Junior — Middle
Σε ποιες περιπτώσεις χρησιμοποιείται το μπλοκ finally στη διαχείριση εξαιρέσεων και ποιο ρόλο παίζει;
sobes.tech AI
Απάντηση από AI
Το μπλοκ finally στη C# χρησιμοποιείται για την εκτέλεση κώδικα που πρέπει να εκτελεστεί σε κάθε περίπτωση μετά το μπλοκ try και πιθανά μπλοκ catch, ανεξάρτητα από το αν προκλήθηκε εξαίρεση ή όχι.
Ο κύριος ρόλος του finally είναι η απελευθέρωση πόρων, το κλείσιμο αρχείων, συνδέσεων με βάσεις δεδομένων, η απελευθέρωση μνήμης και άλλες λειτουργίες καθαρισμού που πρέπει πάντα να πραγματοποιούνται.
Παράδειγμα:
try
{
// Κώδικας που μπορεί να προκαλέσει εξαίρεση
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("Σφάλμα ανάγνωσης αρχείου: " + ex.Message);
}
finally
{
// Αυτός ο κώδικας θα εκτελεστεί πάντα, ακόμη και αν δεν υπήρξε εξαίρεση ή αν διαχειρίστηκε
Console.WriteLine("Ολοκλήρωση εργασίας με το αρχείο.");
}
Εάν προκύψει εξαίρεση στο μπλοκ try και δεν πιαστεί, το finally θα εκτελεστεί και πάλι πριν η εξαίρεση διαδοθεί περαιτέρω.