Κεφάλαιο 4 Εξαιρέσεις. Όταν σε ένα πρόγραμμα συμβεί κάποιο λάθος, ο κώδικας εγείρει (throw) μία εξαίρεση. Στη Java oι εξαιρέσεις εκπροσωπούνται από αντικείμενα.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Graphical User Interfaces (GUI) SWING.
Advertisements

ΜΑΘΗΜΑ: ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 30 Ιουνίου 2014Δευτέρα, 30 Ιουνίου 2014Δευτέρα, 30 Ιουνίου 2014Δευτέρα, 30 Ιουνίου 2014Τμ.
ΕΙΣΑΓΩΓΗ ΣΤΗ JAVA. Reference • Thinking in Java, Bruce Eckel,
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Γλώσσα Προγραμματισμού
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 9: Input / Output Εβδομάδα 8: Είσοδος / Έξοδος [Input / Output]
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 4: Exceptions Εβδομάδα 4: Εξαιρέσεις [Exceptions]
Ε ΝΤΟΠΙΣΜΟΣ Κ ΙΝΟΥΜΕΝΩΝ Α ΝΤΙΚΕΙΜΕΝΩΝ ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗΣ ΕΡΓΑΣΙΑΣ Βόγκλης Κωνσταντίνος Τσίπουρας Μάρκος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Συλλογές Εξαιρέσεις.
Εισαγωγή στον αντικειμενοστραφή προγραμματισμό Κλάσεις και αντικείμενα Κλάσεις και αντικείμενα Κατασκευαστές κλάσεων (constructors) Κατασκευαστές κλάσεων.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Εισαγωγή στον αντικειμενοστραφή προγραμματισμό
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Copy Constructor Deep and Shallow Copies.
JAVA: Threads Θ. Βαρβαρίγου Καθηγ. ΕΜΠ Τηλ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
Threads Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά η μία μετά.
Εντολές Επιλογής και Αποφάσεων
Streams Streams: κανάλια ροής δεδομένων Κανάλια εισόδου: ανάγνωση δεδομένων Κανάλια εξόδου: αποστολή δεδομένων Συνήθεις πηγές και προορισμοί δεδομένων:
Applets Εκτελούνται από τον appletviewer και από Java enabled web browsers Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη.
1 Κεφάλαιο 2 Εισαγωγή στον αντικειμενοστραφή προγραμματισμό.
1 Β΄ Μέρος : ΠΡΟΧΩΡΗΜΕΝΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ GUI Παπανίκος Νικόλαος Α.Μ Φασουράκη Ασημίνα Α.Μ 711.
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
Εισαγωγή στη JAVΑ (μέρος Β’) Βασίλης Παπαταξιάρχης Μάθημα: Αντικειμενοστραφής Προγραμματισμός Διδάσκουσα: Ιζαμπώ Καράλη Τμήμα Πληροφορικής.
Εισαγωγή στη Java (Μέρος B’) Για όσους γνωρίζουν C++ Βασίλης Στούμπος
Νήματα με την χρήση των Posix Threads (pthreads)‏.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
Διάλεξη 3 Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 3 Νήματα (Threads) στην Java Συγχρονισμός Εξωτερικές.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 10: Αφηρημένες τάξεις. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής.
Είσοδος – Έξοδος – Μορφοποιήσεις - Εξαιρέσεις στη Java Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών 1 Βελώνης Γεώργιος – Καθηγητής Πληροφορικής ΠΕ 20.
Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ Ώρες Γραφείου: Τετάρτη 5-6 μμ.
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγ/μό Η/Υ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΕΡΓΑΣΤΗΡΙΟ Ηλεκτρονικού Εμπορίου Ε-Επιχειρείν
Κατανεμημένα Συστήματα
Κληρονομικότητα [inheritance]
Εισαγωγή στον Προγ/μό Υπολογιστών
Κλάσεις και αντικείμενα
Wrapper Classes, Abstract Classes and Interfaces
Κατανεμημένα Συστήματα
Χώροι ονομάτων (namespaces) 1/4
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Εισαγωγή στον Προγ/μό Η/Υ
Εισαγωγή στον Προγ/μό Υπολογιστών
Εισαγωγή στη Java Χαρακτηριστικά της Java Εργαλεία της Java
Κεφάλαιο 10 Streams.
2ο ΓΥΜΝΑΣΙΟ ΣΗΤΕΙΑΣ - ΤΑΞΗ Γ'
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
Εισαγωγή στη Java (Μέρος Α’)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εξαιρέσεις [Exceptions]
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Κεφάλαιο 4 Εξαιρέσεις

Όταν σε ένα πρόγραμμα συμβεί κάποιο λάθος, ο κώδικας εγείρει (throw) μία εξαίρεση. Στη Java oι εξαιρέσεις εκπροσωπούνται από αντικείμενα της κλάσης Exception ή υποκλάσεών της. Υποκλάσεις της Exception είτε προϋπάρχουν (πχ, IOException, NullPointerException) είτε ορίζονται από τον προγραμματιστή. Η έγερση εξαίρεσης θα έχει ως αποτέλεσμα τον τερματισμό του thread στο οποίο συνέβη το σφάλμα και θα τυπωθεί κάποιο μήνυμα. Σε προγράμματα μπορούν να ορισθούν χειριστές εξαιρέσεων (exception handlers). Εξαιρέσεις προκαλούνται από το runtime system, όπως στην περίπτωση διαίρεσης με το μηδέν.

Παράδειγμα δημιουργίας και έγερσης εξαίρεσης class MyException extends Exception { } class MyClass { void oops throws MyException( ) { if (some error condition) throw new MyException ( ); }

Try-catch-finally blocks Χρησιμοποιούνται για τη διαχείριση εξαιρέσεων try blocks: περιέχουν κώδικα που μπορεί να προκαλέσει εξαιρέσεις (συναρτήσεις που έχουν δηλωθεί ότι εγείρουν εξαιρέσεις ). catch blocs: εμπεριέχουν κώδικα που εκτελείται όταν εντοπιστεί η εξαίρεση που προορίζονται να εντοπίσουν. Σε ένα try block μπορούν να αντιστοιχούν πολλά catch blocks αναλόγως του πλήθους των εξαιρέσεων που μπορούν να εμφανιστούν στον κώδικα του try block. Αν η εξαίρεση που διαχειρίζεται ένα catch block είναι υπερκλάση άλλων εξαιρέσεων, το block παράλληλα διαχειρίζεται και όλες τις εξαιρέσεις υποκλάσεις. finally block: Περιέχει κώδικα που θα εκτελεστεί ανεξαρτήτως του αν θα παρουσιαστεί εξαίρεση ή όχι.

Παράδειγμα χειρισμού εξαίρεσης try { p.a = 10;} catch (NullPointerException e) { println("p was null"); } catch (Exception e) { println(“Some error message"); } finally { This code will always be executed. }

Παράδειγμα try { if (a == 10) { return; } } finally { print("finally"); } print("after try"); θα τυπώνει πάντα το μήνυμα "finally" αλλά το μήνυμα "after try" μόνο όταν a ≠ 10. Εντολή Finally Η finally εκτελείται ακόμα και όταν το try block περιέχει τις εντολές return, break, continue ή throw.

Μεταβίβαση εξαίρεσης στον επόμενο χειριστή Για, να περαστεί ο χειρισμός της εξαίρεσης στον επόμενο, exception handler, χρησιμοποιούμε την throw και για αντικείμενο εξαίρεσης την εξαίρεση που πιάσαμε. Έπειτα από το throw η εκτέλεση του τρέχοντος κώδικα χειρισμού διακόπτεται οριστικά. Παράδειγμα try { f.open ( ); } catch ( Exception e ) { f.close ( ); throw e; }