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