Ich habe einen Konstruktor, der eine Ausnahme auslösen könnte, es ist mein Verständnis, dass, sobald dies auftritt, der Dekonstruktor aufgerufen wird. Das Problem ist, dass ich keine Ahnung habe, wie überprüft werden kann, ob das Objekt tatsächlich erfolgreich erstellt wurde.C++ Wie kann die Ausführung bei der Konstruktion fehlgeschlagener Objekte angehalten werden?
versuchte ich
if (objectName) {
//keep working
} else {
//alert that something went wrong
}
tun Aber ich habe gelernt, dass man nicht eine „Null“ Objekt in C++ wie möglich in Java als ein Zeiger immer vielleicht haben existiert, aber auf etwas hinweisen, die Sie nicht tun wollen.
Also dann habe ich auch versucht, einen zusätzlichen Versuch zu fangen um die Objekt Instanziierung, aber die Ausführung einfach weiter so normal. Was ist die beste Vorgehensweise, um zu überprüfen, ob ein Objekt erfolgreich erstellt wurde und verwendet werden kann?
Das Objekt ist vollständig konstruiert, wenn die Ausnahme nicht ausgelöst wird. –
Wenn Ihr Konstruktor einen Fehler verursacht, können Sie immer die Ausnahme abfangen. Veröffentlichen Sie einen echten Code, der veranschaulicht, was Sie tun. –
Die beste Übung ist nicht zu werfen, es sei denn, du musst unbedingt. Lesen Sie auch dies: http://www.stroustrup.com/bs_faq2.html#ctor-exceptions –