ブロックに例外がスローされない場合、try/catch
はパフォーマンスに影響しますか?
約try/catch/finally
?catch節がパフォーマンスに影響を与えますか?
答えて
try/catch
でもtry/catch/finally
も、パフォーマンスに大きな影響を与えません。いくつかのパフォーマンスのコストが発生しない例外を作成
Do try/catch blocks hurt performance when exceptions are not thrown?
例外はがはもちろん、パフォーマンスに影響します作成されている(そしてそれは、彼らがキャッチさ、されているかどうかです)。通常、コードのその時点で例外がある場合は、にを実行する必要がある場合にのみ、例外をキャッチします。
潜在的な障害の発生後にリソースをクローズしたり、その他の必要なタスクを実行する目的で、単にtry/finally
ブロックを使用できます。 finally
はまだ実行されますが、プロセス内で例外をキャッチしていないだけです。むしろ、それはどこに行く必要があるかにまで泡立たせます。
あなたの答えは間違っていることは何もありませんが、私は小さな点を作りたいと思っていました。例外をキャッチするかどうかに関係なく、パフォーマンスには実質的な影響はありません(アプリケーションがどこからでも*扱えない場合は、アプリケーションがクラッシュするという明白な影響を除いて)。私はその詳細を追加するのは、OPが例外を捕まえるか何らかの効果があるかどうかに集中しているように見えるからです。あなたが注意しているように、それは「重い」、扱わない/しない例外の*作成*です。 –
@Andrew Barber:そうだね。あなたの答えは間違いなく私のものよりもその部分を言いました。私は、元の質問に接していると思われるものを捉えたくないときに捉えたくないという点にもっと集中していました。私は、例外をキャッチして、単に投げ直すだけでなく、新しい(カスタム)例外をインスタンス化し、キャッチした例外をそれに追加するという、たくさんのコードを見てきました。 – David
私は、不必要に後者を行うコードを見てきましたが、UIのブロック中に何百回も反復するきわめてタイトなループの中で、少なくとも10%の反復で例外が発生することが予想されます。楽しい時間! –
try/catch
は、例外がスローされた場合にのみパフォーマンスに影響します(しかし、それでも例外が作成されているためにtry/catch
が原因です)。
try/catch/finally
は、追加のオーバーヘッドをtry/catch
に追加しません。
いいえ、例外がスローされない場合、try/catchブロックはパフォーマンスコストを発生させません。
ここでこれについての素晴らしいMSDNの記事を読む
:[?例外がスローされていないとき/ catchブロック傷つけるの性能を試しください] http://msdn.microsoft.com/en-us/library/ms973839.aspx- 1. will_many:RoRに大きなパフォーマンス上の影響を与えますか?
- 2. UILabelレイヤーcornerRadiusがパフォーマンスに悪影響を与える
- 3. 共有ボタンがWebページのパフォーマンスに与える影響
- 4. データ型のサイズがパフォーマンスに与える影響
- 5. Silverlight:アセンブリバージョンがApplicationSettengsに与える影響
- 6. デバッガはiPhoneのパフォーマンスにどのような影響を与えますか?
- 7. TDEの有効化がデータベースのパフォーマンスに与える影響は何ですか?
- 8. は、背景色に影響を与え
- 9. 2つの異なるselect文に影響を与えるwhere節
- 10. UIWebView:テーブルの幅がテキストサイズに影響を与えます
- 11. XMLStreamReaderパーサーがMuleEventContextに影響を与えます
- 12. 別のグローバルフックがグローバルフックに影響を与えます
- 13. MKMapViewのパフォーマンスに影響を与えずにMKAnnotationを配置する方法
- 14. ユニーク制約がPostgres DBの書き込みパフォーマンスに与える影響
- 15. なぜgroovycはセキュリティマネージャーに影響を与えますか?
- 16. は通知ですウェブサイトおよびそのパフォーマンスに悪影響を与える
- 17. ローカルクローンがGitに与える影響は何ですか?
- 18. モバイルネットワークがエンコードに与える影響は何ですか?
- 19. プロセスのページフォルトの数がパフォーマンスに影響を与えるかどうかを確認するには?
- 20. CCParticleSystemQuadエミッタテクスチャは他のエミッタに影響を与えます
- 21. ブラウザコンソールエラーがクライアント側の動作に影響を与えない
- 22. 低速接続でビデオバッファリングがビデオに影響を与えますか?
- 23. FROM句のテーブルの並び順は、パフォーマンスの改善に何か影響を与えますか?
- 24. GLMビューマトリックスはモデルマトリックスに影響を与えません
- 25. スタイルから子コントロールのプロパティに影響を与える方法
- 26. 複数のコンパイラ定義がweb.configのsystem.codedomに与える影響
- 27. WAITFORが他のプロセスやトランザクションに与える影響は?
- 28. オペコードキャッシュがメモリ使用量に与える影響
- 29. アプリケーションがネットワークトラフィックに与える影響のメトリック
- 30. CPUがJavaScriptに与える影響の度合いsetInterval
の可能複製(http://stackoverflow.com/questions/1308432/do try-catch-blocks-hurt-performance-except-except-throwされない場合) –
@HPTこれはどのような質問ですか? try/catchは、すべての種類の例外を処理するためにすべてのメソッドのために必須です。ソフトウェア製品が正常に機能しなくなったり、エラーから回復できない場合は、どのようなソフトウェア製品を使用しますか?基本的なもの自体が弱いときにパフォーマンスが必要とするもの –
可能性のある複製http://stackoverflow.com/questions/1771216/is-there-really-a-performance-hit-when-catching-exceptions –