エラー処理には次の 2 つの方法があります。
1) ネストされた If を使用してエラーをチェックする
2) トライ/キャッチを使用する
これについてのチュートリアルがあります。しかし、ここでは、try/catch がパフォーマンスを低下させると言われています。そのため、トレードオフがあるようです。どのように決定するのですか?何をすべきですか?
エラー処理には次の 2 つの方法があります。
1) ネストされた If を使用してエラーをチェックする
2) トライ/キャッチを使用する
これについてのチュートリアルがあります。しかし、ここでは、try/catch がパフォーマンスを低下させると言われています。そのため、トレードオフがあるようです。どのように決定するのですか?何をすべきですか?
例外をひどく使用すると、パフォーマンスが低下します。常に出てくるものにそれらを使用しないでください、そしてそれらは大丈夫です。
基本的に、何かが間違っている場合は例外を使用する必要があります。通常、何かが間違っている場合、パフォーマンスはそれほど重要ではありません。一方、すべてのエラーチェックを手動で行う必要がある場合、問題が発生する可能性はやや高くなります、IMO ...
スキート氏の回答に+1。あなたの質問はどちらかまたは両方の状況を暗示していることを付け加えたいと思いますが、そうではありません。
Try/Catch は、エラーを処理する唯一の方法である場合にのみ、パフォーマンスの問題になります。一般的な既知のケースを処理するには、if/else も使用する必要があります。例外的な場合の例外処理を保存します。
たとえば、メモリ不足エラー、ネットワーク接続の切断、またはファイルの破損を予測することはできません。そのような場合は、try/catch を使用します。
アプリケーションを作成/実行するとき、常に技術的なエラー (ネットワーク、IO、OS) および機能的なエラー (つまり、プログラミング/ユーザー) が発生します。
通常、これらのエラーの処理は要件でカバーされているはずです (学術的な空間ではなく、実際の環境で)。疑問がある場合は、クライアントまたはファンクショナル アーキテクトに尋ねてください。
あなたはこれについて学問的になることができますが、要件に従って投げたり飲み込んだりするだけです;-)。
(時期尚早の)最適化はすべての悪の根源だと思います。ですから、例外的な振る舞いのために、私はいつもtry / catchを使います!