This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:function_try_blocks [2019/05/15 08:19] gthanos [Εξαιρέσεις που παράγονται στον κατασκευαστή] |
cpp:function_try_blocks [2019/05/15 08:28] gthanos [Exception που συμβαίνουν στον κατασκευαστή της προγόνου κλάσης] |
||
|---|---|---|---|
| Line 114: | Line 114: | ||
| <WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
| - | Ο λόγος που εκτυπώνεται 2 φορές το μήνυμα **" | + | Ο λόγος που εκτυπώνεται 2 φορές το μήνυμα **" |
| </ | </ | ||
| Line 130: | Line 130: | ||
| } | } | ||
| catch(BadName& | catch(BadName& | ||
| - | cout << " | + | cout << "\n--> firstname deleted!" |
| delete firstname; | delete firstname; | ||
| } | } | ||
| Line 144: | Line 144: | ||
| Name destructor: Snow | Name destructor: Snow | ||
| Name destructor: Snow | Name destructor: Snow | ||
| + | |||
| --> firstname deleted! | --> firstname deleted! | ||
| Name destructor: John | Name destructor: John | ||
| - | Occured: BadName | + | Exception occured: BadName |
| </ | </ | ||
| - | < | + | < |
| - | Παρατηρήστε ότι αν και εκτελείται ο κώδικας μέσα στο //catch block//, η εξαίρεση " | + | Παρατηρήστε ότι αν και εκτελείται ο κώδικας μέσα στο //catch block//, η εξαίρεση " |
| </ | </ | ||
| Line 169: | Line 170: | ||
| </ | </ | ||
| - | Εάν επιθυμούμε να " | + | Εάν επιθυμούμε να " |
| <code cpp Student.hpp> | <code cpp Student.hpp> | ||
| Line 187: | Line 188: | ||
| </ | </ | ||
| - | Η παραπάνω σύνταξη επιτρέπει να πιάσουμε το exception που συμβαίνει στον κατασκευαστή της προγόνου κλάσης. Και εδώ το // | + | Η παραπάνω σύνταξη επιτρέπει να πιάσουμε το exception που συμβαίνει στον κατασκευαστή της προγόνου κλάσης. Και εδώ το // |
| + | |||
| + | <WRAP tip 80% center round> | ||
| + | Παρατηρήστε ότι δεν εκτυπώνεται ποτέ το μήνυμα **" | ||
| + | </ | ||
| Η μέθοδος //main// δίνεται παρακάτω: | Η μέθοδος //main// δίνεται παρακάτω: | ||