1

私はプロジェクトのインフラストラクチャを設計していますが、例外のメッセージをパラメーターでフォーマットして動的にすることをお勧めします。

これは一方で、例外メッセージが非常に冗長になる可能性があることを意味します。

私の意見では、はるかに強力な欠点は、特定のメッセージを期待できないことです。これらは (ベスト プラクティスではありませんが) 例外処理、メッセージがこれかそれかのテスト、およびログ記録に使用できます。しかし、さらに気になるのは、そのメッセージをどこかに表示しようとすると、ローカリゼーションが非常に難しくなるということです (私はそうしています)。

したがって、私の質問は、それに対するあなたの見解と、冗長性(例外をログに記録する場合)と一貫性の両方を提供する妥協的な解決策があるかどうかです。

ありがとう。

4

1 に答える 1

0

例外にパラメータを含めることは、多くの場合非常に役立つと思います。他の開発者(そしてあなた自身)がメッセージを読んでバグを見つけようとすることを考えてください。さらに悪いことに、ユーザーがあなたへの例外メッセージを読んだり、フォーラムに投稿したりする可能性があり、あなたはリモートで何が問題になっているのかを突き止める必要があります。

例外で特定のメッセージをテストすることは、実際にはベストプラクティスではありません。私はそれを悪い習慣と呼ぶでしょう。私が知っているすべての言語では、独自のExceptionクラスを定義したり、純粋なクラス名が十分でない場合はクラスにカスタムプロパティを追加したりできます(通常はそうですが)。例外のメッセージはできるだけ人間が読める形式である必要があり、コードで予測できる必要はないと思います。

もちろん、あなたは何でもやりすぎることができます。例外メッセージには、考えられるすべての変数を含めたいという理由だけで、大きくなりすぎたり長くなりすぎたりしないようにする必要があります。賢明に選択してください;-)。

于 2011-02-07T19:59:02.027 に答える