try
使用している間 - 任意の例外がスローされていない場合でも、catch
ブロックは、それがコードのパフォーマンスに影響を与えるのでしょうか?
標準的な例外クラスから拡張された独自の例外ハンドラをコード化したかったので、このような状況がいくつかの呼び出しでページのパフォーマンスを低下させるかどうかは疑問でした。
try
使用している間 - 任意の例外がスローされていない場合でも、catch
ブロックは、それがコードのパフォーマンスに影響を与えるのでしょうか?
標準的な例外クラスから拡張された独自の例外ハンドラをコード化したかったので、このような状況がいくつかの呼び出しでページのパフォーマンスを低下させるかどうかは疑問でした。
答えは重要ではありません。私は何千もの呼び出しの間に、try/catchといくつかのコードの間に数マイクロ秒(またはそれ以下)の違いがあるかもしれないと思うかもしれませんが、try/catchは言語構造であるため、オーバーヘッド。
forループやif/elseを使用するのと同じです。
本当のテストは、コードをベンチマークして自分自身で確認することです。 ;)
編集:例外オブジェクトが生成されなければならないので、例外の実際のスローとキャッチにはいくつかのオーバーヘッドが伴う可能性があることを明確にする必要があります。
私が扱っていた人は、IDEが遅くて例外ではないことを実証するまで、コードの実行の遅さや使用を最小限に抑えることを常に強調していました。これはVisual Studio 2003です。
もちろん、例外をスローしないように注意する必要があります。あなたが通常のフローとしてそれを使用していて、何百万もの例外がスローされてコントロールフローに影響を与えているのであれば、とにかくおそらくあなたは悪いデザインを持っている可能性があります。