ブロックに例外がスローされない場合、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. dns-prefetchingはパフォーマンスにマイナスの影響を与えますか?
- 3. なぜwhere節がパフォーマンスに影響しますか?
- 4. UILabelレイヤーcornerRadiusがパフォーマンスに悪影響を与える
- 5. パフォーマンスに影響を与えずにコード行を減らす
- 6. try-catchブロックはPHPのパフォーマンスに影響しますか?
- 7. 共有ボタンがWebページのパフォーマンスに与える影響
- 8. データ型のサイズがパフォーマンスに与える影響
- 9. SqlConnection.ClearPool()がWebサーバー(IIS)のパフォーマンスに与える影響
- 10. LOMITがneo4jの "allShortestPaths"のcypherクエリのパフォーマンスに与える影響
- 11. goroutineのパフォーマンスに影響を与える要因
- 12. AngularJS $ scopeは常に悪くてパフォーマンスに影響を与えますか?
- 13. 多すぎると、ウェブサイトのパフォーマンスに悪影響を与えますか?
- 14. デバッガはiPhoneのパフォーマンスにどのような影響を与えますか?
- 15. void関数(void)はパフォーマンスにどのような影響を与えますか?
- 16. Node -inspectフラグはパフォーマンスに著しい影響を与えますか?
- 17. モジュールのパフォーマンスに与える影響ノードのクラス
- 18. TDEの有効化がデータベースのパフォーマンスに与える影響は何ですか?
- 19. Silverlight:アセンブリバージョンがApplicationSettengsに与える影響
- 20. NSMutableArrayが別のNSMutableArrayに影響を与えていますか?
- 21. sp_updatestatsがSQLに与える影響はありますか?
- 22. Outlook Gmail Webviewerに影響を与える
- 23. レイアウトに影響を与えるCSSサブメニュー
- 24. は、背景色に影響を与え
- 25. "条件が" OpenCLのカーネル実行のパフォーマンスに影響を与える場合は?
- 26. 2つの異なるselect文に影響を与えるwhere節
- 27. MKMapViewのパフォーマンスに影響を与えずにMKAnnotationを配置する方法
- 28. チタン製の外部モジュールは、アプリケーションのパフォーマンスを低下させ、パフォーマンスに影響を与えますか?
- 29. ユニーク制約がPostgres DBの書き込みパフォーマンスに与える影響
- 30. XMLStreamReaderパーサーがMuleEventContextに影響を与えます
の可能複製(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 –