質問: なぜ例外を保守的に使用する必要があるのですか? 例外はめったに使用されるべきではないと人々が言うのをよく見たり聞いたりしますが、その理由を説明することは決してありません。それは本当かもしれませんが、理論的根拠は通常glibです: "それは理由のために例外と呼ばれます"これは私には一種のようです立派なプログラマー/エンジニアが決して受け入れてはならない説明。例外を使用して解決できる問題にはさまざまなものがあります。 制御フローにそれらを使用するのが賢明でないのはなぜですか?それらの使用方法を非常に保守的にする背後にある哲学は何ですか?セマンティクス?パフォーマンス?複雑さ?美学?コンベンション?以前にパフォーマンスに関する分析を見たことがありますが、一部のシステムに関連し、他のシステムには関連しないレベルです。繰り返しになりますが、特別な状況のためにそれらを保存する必要があることに必ずしも同意しませんが、コンセンサスの論理的根拠は何であるか疑問に思っています(そのようなものが存在する場合)。
回答: 例外はめったに使用されるべきではないと思います。だが。すべてのチームとプロジェクトが例外を使用する準備ができているわけではありません。例外を使用するには、プログラマーの高度な資格、特別な技術、および大きなレガシーの例外安全でないコードの欠如が必要です。巨大な古いコードベースがある場合、ほとんどの場合、例外安全ではありません。書き直したくないと思います。例外を広範囲に使用する場合は、次のようにします。 例外安全性とは何かについて人々に教える準備をしてください 生のメモリ管理を使用しないでください raiiを幅広く使用する 一方、強力なチームを持つ新しいプロジェクトで例外を使用すると、コードがよりクリーンになり、保守が容易になり、さらに高速になる可能性があります。 エラーを見逃したり無視したりすることはありません 低レベルで間違ったコードをどう処理するかを実際に知らずに、リターンコードのチェックを書く必要はありません。 例外安全なコードを書くことを余儀なくされると、それはより構造化されます