„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Sind Ausnahmemikifiker in der modernen C ++ immer noch nützlich?

Sind Ausnahmemikifiker in der modernen C ++ immer noch nützlich?

Gepostet am 2025-04-16
Durchsuche:253

Are Exception Specifiers Still Relevant in Modern C  ?

Soll ich Ausnahmemittler in c?

Ausnahme -Angaben in c erlauben Funktionen erlauben, anzuzeigen, ob sie Ausnahmen werfen können, z. // garantiert keine Ausnahme auswerfen void bar () throw (int); // kann eine Ausnahme von Typ int machen void baz () throw (...); // kann eine Ausnahme einiger nicht spezifizierter Typen

void foo() throw(); // guaranteed not to throw an exception
void bar() throw(int); // may throw an exception of type int
void baz() throw(...); // may throw an exception of some unspecified type

Einschränkungen bei der Durchsetzung

Compiler erzwingen keine Ausnahmespezifizierungen, die ihre Effektivität nicht durchsetzen und ihre Effektivität nicht durchsetzen und ihre Effektivität nicht durchsetzen, ihre Effektivität durchsetzen und ihre Effektivität nicht durchsetzen, ihre Effektivität durchsetzen, ihre Effektivität durchsetzen und ihre Effektivität nicht durchsetzen, ihre Effektivität durchsetzen, ihre Effektivität durchsetzen, ihre Effektivität durchsetzen und ihre Effektivität nicht durchsetzen, ihre Effektivität durchsetzen und ihre Effektivität nicht durchsetzen, ihre Effektivität durchsetzen und ihre Effektivität nicht durchsetzen, ihre Effektivität durchsetzen und ihre Effektivität nicht durchsetzen und ihre Wirksamkeit nicht durchsetzen, ihre Effektivität. Ideales Verhalten würde die Kompilierung von Fehler für Verstoß gegen die Spezifikationen beinhalten, dies ist jedoch nicht garantiert.

schwere Bestrafung für Verstöße

Wenn eine Funktion einen Ausnahmebediziner verletzt, wird das Standardverhalten das Programm kündigen. Diese harte Antwort ist in allen Fällen möglicherweise nicht wünschenswert.

inkonsistente Behandlung in Entwicklungsumgebungen

Einige Entwicklungsumgebungen wie Vs.NET, Treat Throw (x) als Throw (...), untergraben die Haftung an den Standard. Spezifizierer

Zusätzlich zu den oben genannten Bedenken richten sich mehrere Argumente gegen die Verwendung von Ausnahmespezifizierern an:

Kompatibilität mit Vorlagen:

Ausnahmespezifikationen können die Entwicklung von Vorlagen -Code für unvorhandene Ausnahmeverhalten behindern. Erweiterbarkeit:

Angeben erwarteter Ausnahmen können die Entwicklung des Code im Laufe der Zeit einschränken.

  • Kompatibilität mit Legacy -Code: Der Umgang mit Legacy -Code macht es schwierig, mögliche Ausnahmen zu prognostizieren. Fehler und reservierende Ausnahmen für außergewöhnliche Szenarien.
  • Wenn Ausnahmeregelungen nützlich sein können
  • Trotz der allgemeinen Empfehlung gegen die Verwendung von Ausnahmespezifikatoren können sie immer noch vorteilhaft sein, wenn:
  • eine Bibliotheks -Throws, eine Bibliothek, eine Bibliothek. Dieser Anwendungsfall ist jedoch in der Praxis selten.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3