C に例外指定子を組み込む必要がありますか?
C の例外指定子を使用すると、次のような例外をスローする可能性があるかどうかを関数で示すことができます。
<code class="cpp">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</code>
これらの指定子は意図を伝えることができますが、いくつかの要因により実際の使用には疑問があります。
施行の制限
コンパイラーは厳密には例外指定子を強制し、その有効性を低下させます。理想的な動作には、仕様違反に対するコンパイル エラーが含まれますが、これは保証されません。
違反に対する厳罰
関数が例外指定子に違反する場合、標準の動作は次のとおりです。プログラムを終了します。この厳しい応答は、すべての場合に望ましいとは限りません。
開発環境における一貫性のない処理
VS.Net などの一部の開発環境では、throw(X) を次のように扱います。 throw(...) は、標準への準拠を損なうものです。
例外指定子に対する議論
上記の懸念に加えて、例外の使用に反対するいくつかの議論があります。指定子:
例外指定子が役立つ場合
例外指定子の使用に対する一般的な推奨にもかかわらず、次の場合には例外指定子は依然として有益です。
以上が例外指定子は最新の C にもまだ関連していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。