14

これは「すべての例外をキャッチする方法」ではなく、「すべての例外をキャッチする必要があるか」です。C# .NET では、非常に多くの例外があることに気付きました。すべての例外をキャッチすることを計画することをお勧めしますか?

たとえば、DirectoryInfo()コンストラクターは 4 つの例外をスローします。これらを捕まえるつもりですか、それとも私が扱えるものだけを捕まえるべきですか? たぶんMain()、キャッチオールがあるところまで他の人をバブルアップさせて、キャッチされていない例外があることをユーザーに伝えます。これらすべての可能な例外により、コードは実際のコードよりも例外処理が多くなる可能性があるようです。

4

4 に答える 4

19

コードを記述している抽象化のレベルで処理する意味があるものだけをキャッチしてください。ほとんどの例外は、スローされた場所よりもはるかに高いレベルでのみキャッチされます。

そうです、あなたは正しいです。:)

于 2012-06-25T14:31:09.057 に答える
0

処理できるものと処理したいものをキャッチするだけです。
ロジックは非常に単純です。残りの「スロー」で何をしますか?
何か(ロジック\ロギング\エラーメッセージ)があり、再スローするつもりでない限り、キャッチする理由はありません。

于 2012-06-25T14:40:53.333 に答える