Здравствуйте, Pzz, Вы писали:
Pzz>Завтра мода на GUI поменяется, и список твой будет звучать по-другому.
Нет, это не зависит от GUI никаким образом. Более того — часть пунктов не применима к GUI — а только к фоновым сервисам.
Pzz>В конечном итоге, сообщение об ошибке, как бы оно не выглядело, должно нести следующую информацию:
Pzz>1. Чего, собственно, хотят от пользователя? Попробовать еще раз? Исправить ошибки ввода? Подёргать провод? Перезагрузиться? Позвать старщего? Позвонить в техподдержку? Отнести компутер в ремонт?
Очень важен вариант обработки ошибки вот какой, копирую:
Если изменился пользователь а некая операция продолжила выполняться и завершилась после смены пользователя — то это не ошибка, это штатное поведение. Но при этом нельзя применять результаты данной операции — нужно сгенерить исключение. Но! Пользователю и даже в лог вносить это исключение смысла нет, т.к. ситуация штатная и доп. решения не треубет.
Т.е. важно уметь оборвать операцию в процессе, но при этом не тревожить пользователя лишними оповещениями, т.к. это штатная ситуация.
Pzz>2. Что случилось с его запросом? Он вообще не исполнен? Он исполнен наполовину? Деньги ушли, но пылесос не приедет?
Тут не только что случилось. Допустим нет интернета. И что? Программа пытается сделать некую фоновую задачу — не получилось. Сообщать пользователю? Ведь он может проверить WiFi-роутер свой или оплатить задолженность по интернету провайдеру. Не сообщим — плохо. Но при этом дублировать сообщение о том что интернета нет каждые 3 секунды, доставать пользователя — так же плохо.
Читайте внимательно пункты — там не от балды а опыт 20 лет разработки.
Pzz>3. Если есть негативные последствия, как их исправить?
Если мы знаем как исправить — то можно исправить и без того, чтобы беспокоить пользователя.
Пробуйте практические примеры подобрать.
Pzz>4. Насколько всё это серьезно? Само рассосётся?
Нет сети, сервер не доступен — это, возможно, рассосется. Поврежден файл данных — уже усё. Не так много вариантов.
Pzz>Ну, и кроме того, должна сохраняться подробная информация для профессионального разбора полётов.
А вот это уже можно не отображать пользователю а отправлять разработчику в удаленный лог.