1

次のような例外コードがある場合

 catch
 {
      throw;

 }

意味はありますか?このコードを関数で記述しない場合、例外は関数で同様に扱われますか、それとも違いがありますか?

4

5 に答える 5

4

コード自体は何もしませんが、それは価値がないという意味ではありません。スタブと考えてください。

私はこのようなコードを本番環境に入れましたが、それが意味することは、ある時点でそこで問題が発生したことを意味し、開発中に、後で削除されたデバッグに使用した追加のコードがありました...余分なログのようなものメッセージ、メッセージ ボックス、またはトレース コール、またはstring s = "";ブレーク ポイントを配置できるノーオペレーションの種類の行 ( ) ですらあります。ソース管理を振り返ると、それらのステートメントを確認できます。

このセクションは見た目よりも難しい可能性があることを思い出していただくために、スタブを残しておきたいと思います。

ただし、コードのランダムなビットを見ると、多くの場合、このコードが存在するのは、よく知らない人がそこに try/catch ブロックがあるはずだと思ったからです。

于 2012-11-21T03:45:08.573 に答える
0

いいえ、それだけでは意味がありません。

なんらかのロギングやその他のロジックを追加しなければ、これは try/catch ブロックをまったく使用しないことと同じです。

于 2012-11-21T03:43:13.580 に答える
0

これは冗長です。例外をキャッチしてから、それを再スローします。をまったく使用しない方がよいでしょう。catch結果は同じであり、コードはそれほど乱雑ではありません。

于 2012-11-21T03:43:23.003 に答える
0

そのような状況では、スローは実際には再スローであり、他のエラー処理がなければ完全に無意味です。

于 2012-11-21T03:43:26.803 に答える
0

いいえ、例外を処理していないため意味がありませんが、再スローしているだけです

于 2012-11-21T03:43:57.370 に答える