Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision |
cpp:exception [2019/05/05 16:55] – [Διαχείριση Εξαιρέσεων] gthanos | cpp:exception [2019/05/05 17:04] – [Διαχείριση Εξαιρέσεων] gthanos |
---|
</code> | </code> |
| |
Αν και η παραπάνω διαδικασία δεν είναι λανθασμένη, έχει το βασικό μειονέκτημα ότι θα πρέπει να τερματίσουμε το πρόγραμμα, ακόμη και εάν ο λόγος αποτυχίας είναι ότι ο χρήστης της κλάσης επέτρεψε το πέρασμα αρνητικής τιμής ως όρισμα στον κατασκευαστή. | Αν και η παραπάνω διαδικασία δεν είναι λανθασμένη, έχει το βασικό μειονέκτημα ότι θα πρέπει να τερματίσουμε το πρόγραμμα, ακόμη και εάν ο λόγος αποτυχίας είναι ότι ο χρήστης της κλάσης επέτρεψε το πέρασμα αρνητικής τιμής ως όρισμα στον κατασκευαστή. Ο λόγος είναι ότι ακόμη και στην περίπτωση που αποτύχει η δέσμευση της μνήμης ο κατασκευαστής της κλάσης **Vector** επιστρέφει ένα αντικείμενο του οποίου η κατάσταση δεν είναι η αναμενόμενη. |
| |
| Επειδή, ο χρήστης της κλάσης **Vector** δεν έχει τρόπο να ελέγξει το "εσωτερικό" του αντικειμένου, υποθέτει πάντα ότι το αντικείμενο που επιστρέφεται είναι σωστό. Σε διαφορετική περίπτωση, ο κατασκευαστής θα πρέπει να τερματίσει το πρόγραμμα. |
| |
<code cpp VectorUse.cpp> | <code cpp VectorUse.cpp> |