Heim  >  Artikel  >  Backend-Entwicklung  >  Sollten Sie Ausnahmespezifizierer in C verwenden?

Sollten Sie Ausnahmespezifizierer in C verwenden?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-04 00:19:03928Durchsuche

 Should You Use Exception Specifiers in C  ?

Die Verwendung von Ausnahmespezifizierern in C

Frage:

Sollten Ausnahmespezifizierer in der C-Programmierung verwendet werden?

Antwort:

Nein.

Gründe:

  • Mangelnde Durchsetzung: Compiler erzwingen Ausnahmespezifizierer nicht strikt, was ihre Vorteile fraglich macht.
  • Beendigung bei Verstoß: Die Nichteinhaltung von Spezifizierern führt normalerweise zur Programmbeendigung, was nicht immer wünschenswert ist.
  • Inkonsistenz in Visual Studio:Visual Studio behandelt throw(X) als throw(...), was die Einhaltung des Standards beeinträchtigt.
  • Vorlageneinschränkungen: Ausnahmespezifikationen behindern die Erstellung von Vorlagencode, da sie keine Ausnahmen berücksichtigen können, die während der Ausführung auftreten können.
  • Verbot der Erweiterbarkeit: Ausnahmespezifikationen schränken die Erweiterbarkeit des Codes ein, indem sie eine explizite Angabe potenzieller Ausnahmen erfordern. die möglicherweise nicht bekannt oder vorhersehbar sind.
  • Probleme mit Legacy-Code: Bibliotheken können unbekannte Ausnahmen auslösen, wodurch Ausnahmespezifizierer in solchen Szenarien unzuverlässig werden.
  • Empfohlener Ansatz : Die Rückgabe häufiger Fehler als Werte und die Reservierung von Ausnahmen für außergewöhnliche Umstände ist ein praktischerer Ansatz.

Das obige ist der detaillierte Inhalt vonSollten Sie Ausnahmespezifizierer in C verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn