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 |
|---|---|---|
| Σκοπός | Χειρισμός εξαίρεσης | Ανάθεση ευθύνης |
| Τοποθεσία | Μπλοκ κώδικα | Υπογραφή μεθόδου |
| Δράση | Πιάσιμο και διαχείριση της εξαίρεσης | Υποδεικνύει την πιθανότητα ρίψης |