Sobes.tech
Junior

Πώς λειτουργεί η κατασκευή try-catch στη Java;

sobes.tech AI

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

Η κατασκευή try-catch χρησιμοποιείται για την αντιμετώπιση εξαιρέσεων, γεγονότων που διακόπτουν τη φυσιολογική ροή εκτέλεσης του προγράμματος.

  • try: Μπλοκ κώδικα όπου ενδέχεται να προκύψει μια εξαίρεση. Αν προκύψει εξαίρεση μέσα στο try, η εκτέλεση αυτού του μπλοκ διακόπτεται.
  • catch: Μπλοκ κώδικα που εκτελείται αν προκύψει μια συγκεκριμένου τύπου εξαίρεση (που δηλώνεται μέσα στις παρενθέσεις μετά το catch) στο αντίστοιχο μπλοκ try. Η Java αναζητά ένα κατάλληλο μπλοκ catch για να χειριστεί την εξαίρεση. Αν βρεθεί, ο κώδικας σε αυτό το μπλοκ εκτελείται.
  • finally (προαιρετικό): Μπλοκ κώδικα που εκτελείται εγγυημένα μετά τα μπλοκ try-catch, ανεξάρτητα αν προέκυψε εξαίρεση ή όχι, ή αν αυτή πιάστηκε. Χρησιμοποιείται για τον καθαρισμό πόρων (κλείσιμο αρχείων, συνδέσεων κ.λπ.).
public class ExceptionHandlingExample {

    public static void main(String[] args) {
        try {
            // Κώδικας που μπορεί να ρίξει εξαίρεση
            int result = 10 / 0; // ArithmeticException
            System.out.println("Αυτή η γραμμή δεν θα εκτελεστεί αν προκύψει εξαίρεση.");
        } catch (ArithmeticException e) {
            // Διαχείριση συγκεκριμένου τύπου εξαίρεσης
            System.err.println("Παρουσιάστηκε αριθμητικό σφάλμα: " + e.getMessage());
        } catch (Exception e) {
            // Γενική catch για οποιονδήποτε άλλο τύπο εξαίρεσης
            System.err.println("Παρουσιάστηκε άγνωστο σφάλμα: " + e.getMessage());
        } finally {
            // Κώδικας που εκτελείται πάντα
            System.out.println("Το μπλοκ finally εκτελέστηκε.");
        }

        System.out.println("Το πρόγραμμα συνεχίζεται μετά το try-catch.");
    }
}

Σύγκριση μεταξύ try-catch και throws:

Χαρακτηριστικό try-catch throws
Σκοπός Χειρισμός εξαίρεσης Ανάθεση ευθύνης
Τοποθεσία Μπλοκ κώδικα Υπογραφή μεθόδου
Δράση Πιάσιμο και διαχείριση της εξαίρεσης Υποδεικνύει την πιθανότητα ρίψης