Η εξαίρεση ρίχνει σταματά την εκτέλεση C++;
Η εξαίρεση ρίχνει σταματά την εκτέλεση C++;
Anonim

βολή συνήθως προκαλεί τη λειτουργία να περατώ αμέσως, έτσι κι αν εσύ κάνω βάλτε οποιονδήποτε κωδικό μετά από αυτό (μέσα στο ίδιο μπλοκ), δεν θα το κάνει εκτέλεση . Αυτό ισχύει τόσο για C++ όσο και για C#.

Από εδώ, πώς ρίχνετε μια εξαίρεση στη C++;

Εξαιρέσεις ρίψεων Εξαιρέσεις μπορεί να είναι πεταμένο οπουδήποτε μέσα σε ένα μπλοκ κώδικα χρησιμοποιώντας βολή δήλωση. Ο τελεστής του βολή η δήλωση καθορίζει έναν τύπο για το εξαίρεση και μπορεί να είναι οποιαδήποτε έκφραση και ο τύπος του αποτελέσματος της έκφρασης καθορίζει τον τύπο του εξαίρεση πετάχτηκε.

μπορεί να διαγράψει να βάλει μια εξαίρεση; Εξαίρεση από " διαγράφω " μπορώ 't ρίχνουν εξαιρέσεις ? Οχι αλλά ρίχνοντας εξαιρέσεις από καταστροφείς δεν είναι η καλύτερη ιδέα στον κόσμο. δυνατό για διαγράφω foo? προς το βολή αν το foo's destructor ή κάτι που αποκαλεί μπορεί να ρίξει.

Απλώς, οι εξαιρέσεις είναι κακές στη C++;

Ο κύριος λόγος Εξαιρέσεις C++ είναι τόσο συχνά απαγορευμένα που είναι πολύ δύσκολο να γράψεις εξαίρεση ασφαλής C++ κώδικας. Εξαίρεση Η ασφάλεια δεν είναι ένας όρος που ακούτε πολύ συχνά, αλλά βασικά σημαίνει κώδικας που δεν βιδώνεται πολύ άσχημα εάν η στοίβα ξετυλιχτεί.

Τι είναι ο χειρισμός εξαιρέσεων στη C++;

Χειρισμός εξαιρέσεων στη C++ είναι μια διαδικασία για να λαβή σφάλματα χρόνου εκτέλεσης. Εκτελούμε χειρισμός εξαιρέσεων ώστε η κανονική ροή της εφαρμογής να μπορεί να διατηρηθεί ακόμη και μετά από σφάλματα χρόνου εκτέλεσης. Σε C++, εξαίρεση είναι ένα γεγονός ή αντικείμενο που εκτοξεύεται κατά το χρόνο εκτέλεσης. Ολα εξαιρέσεις προέρχονται από το std:: εξαίρεση τάξη.