Junior
Τι είναι ο τελεστής throw στη C#;
sobes.tech AI
Απάντηση από AI
Ο τελεστής throw χρησιμοποιείται για την ρητή ενεργοποίηση μιας εξαίρεσης. Επιτρέπει να διακοπεί η κανονική εκτέλεση του προγράμματος και να μεταβιβαστεί ο έλεγχος στο μπλοκ χειρισμού εξαιρέσεων.
// Παράδειγμα χρήσης του τελεστή throw
try
{
int[] numbers = { 1, 2, 3 };
int index = 5;
// Χειροκίνητη ενεργοποίηση εξαίρεσης IndexOutOfRangeException
if (index >= numbers.Length)
{
throw new IndexOutOfRangeException("Ο δείκτης βρίσκεται εκτός των ορίων του πίνακα.");
}
Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
// Χειρισμός της εξαίρεσης
Console.WriteLine($"Σφάλμα: {ex.Message}");
}
Ο τελεστής throw μπορεί να χρησιμοποιηθεί με δύο μορφές:
-
throw expression;: Ενεργοποιεί μια νέα εξαίρεση, όπου τοexpressionείναι ένα στιγμιότυπο μιας κλάσης που κληρονομεί από τοSystem.Exception.throw new ArgumentException("Μη έγκυρο επιχείρημα."); -
throw;: Επαναφέρει την τρέχουσα εξαίρεση στο μπλοκcatch. Αυτό διατηρεί όλες τις πληροφορίες της στοίβας κλήσεων της αρχικής εξαίρεσης.try { // Κώδικας που μπορεί να προκαλέσει εξαίρεση } catch (FileNotFoundException ex) { // Επιπλέον επεξεργασία ή καταγραφή Console.WriteLine($"Το αρχείο δεν βρέθηκε: {ex.FileName}"); // Επαναφορά της εξαίρεσης για περαιτέρω επεξεργασία ψηλότερα στη στοίβα throw; }
Η χρήση του throw είναι σημαντική για:
- Την ένδειξη σφαλμάτων ή απροσδόκητων καταστάσεων στην εφαρμογή.
- Τη δημιουργία προσαρμοσμένων εξαιρέσεων για συγκεκριμένα σφάλματα.
- Τη μεταφορά πληροφοριών σχετικά με το σφάλμα στον κώδικα που καλεί για σωστή επεξεργασία.