ホームページ > バックエンド開発 > C++ > C 関数シグネチャの例外仕様が不適切な慣行とみなされるのはなぜですか?

C 関数シグネチャの例外仕様が不適切な慣行とみなされるのはなぜですか?

Linda Hamilton
リリース: 2024-11-01 03:34:02
オリジナル
675 人が閲覧しました

Why are Exception Specifications in C   Function Signatures Considered Poor Practice?

関数シグネチャの例外仕様

質問:

なぜ "throw" を使用するのですか関数シグネチャ内のキーワードは、C では不適切な方法であると考えられています?

答え:

関数シグネチャで "throw" キーワードを使用することは、一般的に推奨されません。代わりに、関数内で例外を処理し、戻り値またはエラー コードを通じて例外を伝播することをお勧めします。

関数シグネチャの例外仕様は、関数がスローできる例外を指定します。ただし、コンパイラはこの宣言を強制できません。これは実行時にチェックされますが、パフォーマンスに影響するため望ましくありません。

さらに、例外仕様は多くのコンパイラで十分にサポートされていません。たとえば、Microsoft Visual C は、例外がスローされないことを保証するものとして解釈される "throw()" を除き、例外の指定を無視します。この矛盾により、例外仕様の使用によって引き起こされる潜在的な問題がさらに増大します。

以上がC 関数シグネチャの例外仕様が不適切な慣行とみなされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート