Exceptions werden geworfen, weil ein bestimmter Zustand nicht lokal behandelt werden kann, das impliziert, dass eine Unterscheidung zwischen kritisch und nicht-kritisch ebenso lokal nicht getroffen werden kann.
Tut es das? Einer kritische Exception muss nicht die unmittelbare Terminierung des Programms folgen. Ich kann, auch von außen, auf eine kritische Exception gewissermaßen reagieren. Genauso wie nicht-kritische Exceptions keine lokale Behandlung implizieren.
Was soll eigentlich argumentiert werden? Dass Exceptionsicherheit nur nach Lust und Laune erfolgen sollte?
Wie kommst du darauf, dass irgendetwas argumentiert werden soll? Ich wollte lediglich wissen, warum das konkrete Statement "böse" genannt wurde, wo AFAICS keinerlei praktische Gefahr besteht: Das Programm müsste gewiss vorzeitig beendet werden, da die Reallokation fehlschlug (welche selbst nicht all zu viel Speicher benötigen dürfte).
Das ändert aber nichts, und ich stimme natürlich zu, dass das Statement schlechtem Stil entspringt (und den anderen Punkten sowieso), und man sich schon gar nicht für Gewöhnlich den Kopf darüber zerbricht, ob ein rohes new durchgehen könnte. Ich wollte keine Diskussion über konsequentes Anwenden von exception safety lostreten, das befürworte ich wohl sehr.
Sich dauernd zu überlegen "kann hier überhaupt ein Fehler passieren den wir sinnvoll behandeln können" führt bloss zu Kopfschmerzen und ... Fehlern.
My word. Ich schätze, ich sollte wohl zugeben, dass ich nur clever sein wollte.