Вы заканчиваете свои сообщения об исключении точкой? - PullRequest
53 голосов
/ 16 июля 2009

Я видел оба сообщения об исключениях с точкой и без нее. И я могу подумать о некоторых причинах того, почему оба могут быть хорошими.

  • Ни одна точка не даст вам свободу добавлять период или опускать его, если вы захотите. Может быть полезно, если сообщение отправлялось в виде заголовка или чего-то подобного.
  • С точкой вы всегда будете знать, что у вас есть "полное предложение", и оно выглядит более законченным.

Какой вы порекомендуете?

Может также быть проблема в локализованных строках ресурсов. Очевидно, что вы не можете поставить точку после всего (выглядело бы странно с точками после текста на кнопках и пунктах меню и т. Д.). Но следует ли тогда исключить период из всего, чтобы быть последовательным, и добавить его позже, где это полезно? Или вы бы предпочли поставить период, когда это кажется подходящим? Например, после всех строк ресурсов и сообщений об исключениях, которые являются предложениями, но не после тех, которые являются словами. Но тогда как насчет очень коротких предложений? Например, «Создать новый файл». Может быть, можно пропустить периоды для строк, которые также считались действиями ... (Просто подумал, пока я печатал здесь ...

Не самая важная вещь в мире, я знаю. Но такие мелочи, которые, как правило, меня раздражают через некоторое время. Мне нравится последовательность и знать, почему я делаю то, что я делаю. Проблема в том, что я не уверен, на какую из них пойти: p

Ответы [ 6 ]

45 голосов
/ 16 июля 2009

Да, я обычно рассматриваю сообщения об исключениях как полные предложения, заканчивая их точкой.

Однако сообщение в исключении предназначено для разработчика , а не для конечного пользователя . Вполне возможно, что одно и то же основное исключение должно привести к двум различным сообщениям для конечного пользователя, в зависимости от контекста, в котором был вызван метод исключения.

Вы действительно должны показывать меньше технических, более удобных для пользователя сообщений.

31 голосов
/ 07 декабря 2015

Q. Вы заканчиваете свои сообщения об исключении точкой?

Из Рекомендации по исключениям & # x2020; на MSDN в разделе «Создание и повышение исключений»:

  • Используйте грамматически правильные сообщения об ошибках, включая окончание пунктуация . Каждое предложение в строке описания исключения должно закончиться в срок. Например, «Таблица журнала переполнена». будет подходящей строкой описания.

А что касается возможной обратной связи с пользователем через пользовательский интерфейс приложения, вопрос включает в себя:

... Также может быть проблема в локализованных строках ресурсов.

В статье MSDN, упомянутой выше, также говорится:

  • Включить локализованную строку описания в каждое исключение. Ошибка сообщение, которое видит пользователь, получено из строки описания исключение, которое было сгенерировано, а не из класса исключений.

Также из Exception.Message Свойство & # x2020; в начале раздела «Замечания»:

Сообщения об ошибках адресованы разработчику, который обрабатывает исключение. текст свойства Message должен полностью описывать ошибку и, когда это возможно, следует также объяснить, как исправить ошибку. Верхний уровень обработчики исключений могут отображать сообщение для конечных пользователей, поэтому вам следует убедитесь, что это грамматически правильно и что каждое предложение сообщение заканчивается точкой. Не используйте вопросительные знаки или восклицательный знак точки. Если ваше приложение использует локализованные сообщения об исключениях, вы следует убедиться, что они точно переведены.


& # x2020; .NET Framework 4.6 и 4.5

8 голосов
/ 16 июля 2009

Сообщения об исключениях в структуре заканчиваются точкой; По этой причине я склонен делать то же самое.
В любом случае, выберите стиль и постарайтесь придерживаться этого ...

6 голосов
/ 16 июля 2009

Я всегда использую точки в моих описаниях исключений. Простой факт состоит в том, что предложения, которые правильно акцентированы, легче читаются и выглядят более профессионально, что важно для воспринимаемого качества - вы не думаете?

Сравните это с:

Я всегда использую периоды в своих описаниях исключений, простой факт заключается в том, что предложения, которые правильно акцентированы, легче читать и выглядят более профессионально, что важно для воспринимаемого качества.

4 голосов
/ 16 июля 2009

Исключительные сообщения являются частью интерфейса разработчика для вашего приложения. Интерфейсы обычно разрабатываются с целью помочь пользователю выполнить какую-то конкретную задачу. В случае исключения предоставленный интерфейс должен быть спроектирован так, чтобы передавать информацию об ошибке, которая произошла в приложении.

Когда вы решите выбросить исключение и напишите строку типа

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

тогда вы уже приняли ряд решений об интерфейсе, включая:

  • Тип исключения
  • Отсутствие локализованных сообщений об исключениях (использование жестко закодированной строки обычно подразумевает это)
  • Это исключение не является результатом какого-либо другого условия (без внутреннего исключения)

Помните, что интерфейс разработчика существует для обслуживания разработчиков, а пользовательский интерфейс - для обслуживания пользователей, первый предъявляет совершенно иные требования, чем второй, поэтому то, что хорошо для одного, может не подходить для другого, поэтому период в сообщении об исключении не должен касаться пользовательского интерфейса, поскольку он не должен быть видимым для конечного пользователя.

Использование периода не является основным решением в большинстве случаев, но вы должны рассмотреть вопрос о том, является ли его наличие (или его отсутствие) полезным или вредным для интерфейса, учитывая уже затронутые вопросы, включая согласованность и локализацию структуры.

Я знаю, что это сообщение немного многословно и, возможно, немного astronauty , но я надеюсь, что оно вам пригодится.

0 голосов
/ 16 июля 2009

Используйте свое лучшее суждение. Я иногда тоже использую восклицательный знак. : -)

...