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.
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