81

ピリオドのある場合とない場合の両方の例外メッセージを見てきました。そして、私は両方が良いかもしれない理由のいくつかの理由を考えることができます。

  • ドットを使用しないと、ピリオドを追加したり、必要に応じて省略したりすることができます。メッセージが何らかのタイトルバーなどで送信されている場合に役立ちます。
  • ドットを付けると、「完全な文」があり、より完成したように見えることが常にわかります。

どれをお勧めしますか?

ローカライズされたリソース文字列でも問題になる可能性があります。もちろん、すべての後にピリオドを付けることはできません(ボタンやメニュー項目などのテキストの後にピリオドを付けると奇妙に見えます)。しかし、一貫性を保つためにすべてから期間を除外し、後で役立つ場合はそれを追加する必要がありますか?それとも、適切と思われる期間を設定しますか?たとえば、文であるすべてのリソース文字列と例外メッセージの後ですが、単語であるものの後ではありません。では、非常に短い文章はどうでしょうか。たとえば、「新しいファイルを作成する」などです。アクションと見なされた文字列のピリオドも省略できる可能性があります...(ここに入力しているときに考えているだけです...)

世界で最も重要なことではありませんが、このような小さなことは、しばらくすると私を悩ませがちです。私は一貫性が好きで、なぜ自分がやっていることをするのかを知っています。問題は、どちらを選ぶべきかわからないことです:p

4

6 に答える 6

65

はい、私は通常、例外メッセージを完全な文として扱い、ピリオドで終了します。

ただし、例外のメッセージは開発者向けであり、エンドユーザー向けではありません。例外をスローするメソッドが呼び出されたコンテキストに応じて、同じ基本的な例外がエンドユーザーに2つの異なるメッセージをもたらす可能性があります。

技術的ではなく、よりユーザーフレンドリーなメッセージをユーザーに表示する必要があります。

于 2009-07-16T11:01:22.217 に答える
64

Q.例外メッセージをピリオドで終了しますか?

「例外の作成と発生」セクションのMSDNの「例外のベストプラクティス† 」から:

  • 句読点の終了など、文法的に正しいエラーメッセージを使用します。例外の説明文字列の各文は、ピリオドで終了する必要があります。たとえば、「ログテーブルがオーバーフローしました。」適切な説明文字列になります。

また、アプリケーションのユーザーインターフェイスを介したユーザーへのフィードバックの可能性については、次の質問が含まれます。

...ローカライズされたリソース文字列でも問題になる可能性があります。

上記で参照されているMSDNの記事には、次のようにも記載されています。

  • すべての例外にローカライズされた説明文字列を含めます。ユーザーに表示されるエラーメッセージは、例外クラスからではなく、スローされた例外の説明文字列から派生しています。

また、「備考」セクションの冒頭にあるException.Messageプロパティ†から:

エラーメッセージは、例外を処理している開発者を対象としています。Messageプロパティのテキストは、エラーを完全に説明する必要があり、可能であれば、エラーを修正する方法も説明する必要があります。トップレベルの例外ハンドラーはエンドユーザーにメッセージを表示する場合があるため、文法的に正しいことと、メッセージの各文がピリオドで終わることを確認する必要があります。疑問符や感嘆符は使用しないでください。アプリケーションでローカライズされた例外メッセージを使用する場合は、それらが正確に翻訳されていることを確認する必要があります。


.NETFramework4.6および4.5

于 2015-12-07T14:34:51.813 に答える
9

フレームワークの例外メッセージはドットで終了します。そのため、私も同じことをする傾向があります。
いずれにせよ、スタイルを選択し、それに固執してみてください...

于 2009-07-16T11:03:20.667 に答える
7

例外の説明では常にピリオドを使用します。単純な事実は、適切に句読された文は読みやすく、よりプロフェッショナルに見えるということです。これは、知覚される品質にとって重要です。

それを以下と比較してください:

私は例外の説明で常にピリオドを使用します。単純な事実は、適切に句読された文は読みやすく、知覚される品質にとって重要なより専門的な見た目であるということです。

于 2009-07-16T11:03:16.270 に答える
4

例外メッセージは、アプリケーションへの開発者インターフェースの一部を形成します。インターフェイスは通常、ユーザーが特定のタスクを実行できるようにすることを目的として設計されています。例外の場合、提供されるインターフェースは、アプリケーション内で発生したエラーに関する情報を伝達するように設計する必要があります。

例外をスローして次のような行を書くことにした場合

throw new ArgumentException("The string must contain at least one character.");

次に、インターフェースについて次のような多くの決定をすでに行っています。

  • 例外タイプ
  • ローカライズされた例外メッセージの欠如(ハードコードされた文字列の使用は通常これを意味します)
  • この例外は、他の条件の結果ではありません(内部例外なし)

開発者インターフェースは開発者にサービスを提供するために存在し、ユーザーインターフェースはユーザーにサービスを提供するために存在することを忘れないでください。前者は後者とは大きく異なる要件を持っているため、一方にとって良いことは他方にとって良くない可能性があるため、例外メッセージのピリオドはエンドユーザーには表示されないようにする必要があるため、ユーザーインターフェイスは関係ありません。

ほとんどの場合、ピリオドの使用は主要な決定ではありませんが、フレームワークの一貫性やローカリゼーションなど、すでに提起されているポイントを考慮して、ピリオドの存在(またはピリオドの欠如)がインターフェイスに有益か有害かを検討する必要があります。

この投稿が少し言葉遣いで、おそらく少し宇宙飛行士であることは知っていますが、お役に立てば幸いです。

于 2009-07-16T12:11:25.787 に答える
0

あなたの最善の判断を使用してください。感嘆符も使うことがあります。:-)

于 2009-07-16T11:28:38.120 に答える