Перейти к содержанию
Innovialabs

Как писать понятные сообщения об ошибках

Практика4 мин

Коротко

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

Формула хорошей ошибки

Сообщение об ошибке отвечает на три вопроса:

  1. Что случилось — конкретно, без общих слов.
  2. Почему — если причина помогает понять ситуацию.
  3. Как исправить — следующий шаг, который пользователь может сделать прямо сейчас.

Пример: «Не удалось сохранить файл: на диске закончилось место. Удалите ненужные файлы или выберите другую папку».

Второй пункт можно опустить, если причина очевидна или ничего не даёт пользователю. Третий опускать нельзя: ошибка без выхода — тупик.

Правила тона

  • Не обвиняйте. «Вы ввели неверный пароль» → «Пароль не подходит». Ошибка — это ситуация, а не вина человека.
  • Без техники. Коды, названия исключений и «Error 500» пользователю ничего не говорят. Код можно оставить мелким текстом для поддержки.
  • Без драмы и шуток. «Упс!» и восклицательные знаки раздражают, когда у человека сорвалась оплата. Юмор уместен только в безобидных ситуациях, например на странице 404.
  • Конкретно. Не «Что-то пошло не так», а что именно и что делать.
  • Коротко. Одно-два предложения. Подробности — по ссылке, если они действительно нужны.
  • Одинаково по всему продукту. Одни и те же ситуации описывайте одними и теми же словами.
  • Не только цветом. Красный цвет дополняйте иконкой и текстом — его должны заметить и люди с нарушением цветовосприятия, и пользователи экранных дикторов.

Где показывать ошибку

СитуацияГде показать
Ошибка в поле формыПод полем, сразу после того как пользователь его покинул
Несколько ошибок при отправкеСписок вверху формы со ссылками на поля + сообщение у каждого поля
Сбой действия (не сохранилось, не отправилось)Уведомление рядом с местом действия, с кнопкой «Повторить»
Нет связиНенавязчивая плашка, которая исчезает после восстановления
Страница не найдена или недоступнаОтдельный экран с путями дальше: поиск, главная, поддержка
Критичная ошибка, теряются данныеМодальное окно — только в этом случае

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

До и после

БылоСтало
Неверный вводВведите номер телефона полностью, например +998 90 123 45 67
Ошибка 500. Internal Server ErrorНе получилось загрузить страницу. Обновите её через минуту — если не поможет, напишите в поддержку
Транзакция отклоненаБанк отклонил оплату. Проверьте данные карты или выберите другой способ оплаты
Поле обязательноУкажите email — на него придёт подтверждение заказа
Упс! Что-то пошло не так :(Не удалось отправить сообщение. Проверьте подключение к интернету и попробуйте ещё раз
Пароль не соответствует требованиямПароль должен быть не короче 8 символов и содержать хотя бы одну цифру
Файл не поддерживаетсяЗагрузите изображение в формате JPG или PNG размером до 10 МБ

Обратите внимание: в хорошем варианте почти всегда есть глагол действия — «введите», «проверьте», «загрузите».

Лучше предотвратить, чем сообщить

Самая хорошая ошибка — та, которая не случилась.

  • Показывайте требования заранее: формат пароля, лимит размера файла — до ввода, а не после.
  • Принимайте разные форматы: телефон с пробелами, дату через точку или дефис.
  • Отключайте недоступные варианты с пояснением, а не позволяйте выбрать их и получить ошибку.
  • Сохраняйте введённые данные, чтобы после ошибки не заполнять всё заново.

Чек-лист перед публикацией

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

Частые вопросы

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

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.