Сообщение Re: Про обработку ошибок - типовые решения от 21.04.2025 11:37
Изменено 21.04.2025 11:38 DiPaolo
Re: Про обработку ошибок - типовые решения
S>Конечный итог ошибки может быть таким:
S>1. Подсветить поле с неверно введенными данными. Самый мягкий случай, когда ошибка ввода данных. Нужно сделать без перехода и диалогов.
валидация
S>2. Отобразить пользователю диалог модальный, когда ошибка важная и требует чтобы пользователь увидел.
ошибка
пункт 3 где?
тоже вот, пожалуйста, ошибочка закралась ))
S>4. Отобразить всплывающее окошко. Когда ошибка не важна, скрывать будет не верно (хотя бы для целей отладки и светлого будущего программы), но и она особо погоды не строит.
уведомление (тост)
S>5. Перевести пользователя в оффлайн-режим. К примеру, если нет подключения, но программа может работать в оффлайн.
это вообще из другой тематики. В большинстве случаев этого не надо либо достаточно сделать через пункты 2 или 4
S>6. Заставить пользователя пройти повторную авторизацию (переадресовать на форму входа). Если данные аутентификации отозваны, устарели и пр. Сюда же относим прочие переадресации на формы для обязательного ввода данных (а может быть и не обязательные).
редирект
S>7. Просто записать данные в лог/удаленный лог.
логгирование
S>8. Ничего не делать — проигнорить, но оборвать текущую операцию.
+пункт 2 или 4
S>9. Возможно — удалить текущую базу данных ввиду ее повреждения (если база не критична) или отобразить форму невозможности продолжения работы ввиду повреждения базы.
ОМГ что???
S>10. Попытаться устранить проблему автоматически — как-то устаревший формат файла — провести приведение к новому формату.
бизнес-логика
S>Итого — дофига разных вариантов какие типы реакций могут быть.
S>Фактически нужно помнить что каждая КАЖДАЯ операция может либо завершиться успешно — либо с ошибкой. Причем нужно правильно отреагировать — выбрать какой из 10 вариантов применить.
Итого: 1 пункт про ошибку + 1 про уведомляшку. Остальное про всякое разное стандартное полезное как-то логгирование, валидация и бизнес-логика
S>1. Подсветить поле с неверно введенными данными. Самый мягкий случай, когда ошибка ввода данных. Нужно сделать без перехода и диалогов.
валидация
S>2. Отобразить пользователю диалог модальный, когда ошибка важная и требует чтобы пользователь увидел.
ошибка
пункт 3 где?
S>4. Отобразить всплывающее окошко. Когда ошибка не важна, скрывать будет не верно (хотя бы для целей отладки и светлого будущего программы), но и она особо погоды не строит.
уведомление (тост)
S>5. Перевести пользователя в оффлайн-режим. К примеру, если нет подключения, но программа может работать в оффлайн.
это вообще из другой тематики. В большинстве случаев этого не надо либо достаточно сделать через пункты 2 или 4
S>6. Заставить пользователя пройти повторную авторизацию (переадресовать на форму входа). Если данные аутентификации отозваны, устарели и пр. Сюда же относим прочие переадресации на формы для обязательного ввода данных (а может быть и не обязательные).
редирект
S>7. Просто записать данные в лог/удаленный лог.
логгирование
S>8. Ничего не делать — проигнорить, но оборвать текущую операцию.
+пункт 2 или 4
S>9. Возможно — удалить текущую базу данных ввиду ее повреждения (если база не критична) или отобразить форму невозможности продолжения работы ввиду повреждения базы.
ОМГ что???
S>10. Попытаться устранить проблему автоматически — как-то устаревший формат файла — провести приведение к новому формату.
бизнес-логика
S>Итого — дофига разных вариантов какие типы реакций могут быть.
S>Фактически нужно помнить что каждая КАЖДАЯ операция может либо завершиться успешно — либо с ошибкой. Причем нужно правильно отреагировать — выбрать какой из 10 вариантов применить.
Итого: 1 пункт про ошибку + 1 про уведомляшку. Остальное про всякое разное стандартное полезное как-то логгирование, валидация и бизнес-логика
Re: Про обработку ошибок - типовые решения
S>Конечный итог ошибки может быть таким:
S>1. Подсветить поле с неверно введенными данными. Самый мягкий случай, когда ошибка ввода данных. Нужно сделать без перехода и диалогов.
валидация
S>2. Отобразить пользователю диалог модальный, когда ошибка важная и требует чтобы пользователь увидел.
ошибка
пункт 3 где?
тоже вот, пожалуйста, ошибочка закралась ))
S>4. Отобразить всплывающее окошко. Когда ошибка не важна, скрывать будет не верно (хотя бы для целей отладки и светлого будущего программы), но и она особо погоды не строит.
уведомление (тост)
S>5. Перевести пользователя в оффлайн-режим. К примеру, если нет подключения, но программа может работать в оффлайн.
это вообще из другой тематики. В большинстве случаев этого не надо либо достаточно сделать через пункты 2 или 4
S>6. Заставить пользователя пройти повторную авторизацию (переадресовать на форму входа). Если данные аутентификации отозваны, устарели и пр. Сюда же относим прочие переадресации на формы для обязательного ввода данных (а может быть и не обязательные).
редирект
S>7. Просто записать данные в лог/удаленный лог.
логгирование
S>8. Ничего не делать — проигнорить, но оборвать текущую операцию.
+пункт 2 или 4
S>9. Возможно — удалить текущую базу данных ввиду ее повреждения (если база не критична) или отобразить форму невозможности продолжения работы ввиду повреждения базы.
ОМГ что???
S>10. Попытаться устранить проблему автоматически — как-то устаревший формат файла — провести приведение к новому формату.
бизнес-логика
S>Итого — дофига разных вариантов какие типы реакций могут быть.
S>Фактически нужно помнить что каждая КАЖДАЯ операция может либо завершиться успешно — либо с ошибкой. Причем нужно правильно отреагировать — выбрать какой из 10 вариантов применить.
Итого: 1 пункт про ошибку + 1 про уведомляшку. Остальное про всякое разное стандартное полезное: логгирование, валидация и бизнес-логика
S>1. Подсветить поле с неверно введенными данными. Самый мягкий случай, когда ошибка ввода данных. Нужно сделать без перехода и диалогов.
валидация
S>2. Отобразить пользователю диалог модальный, когда ошибка важная и требует чтобы пользователь увидел.
ошибка
пункт 3 где?
S>4. Отобразить всплывающее окошко. Когда ошибка не важна, скрывать будет не верно (хотя бы для целей отладки и светлого будущего программы), но и она особо погоды не строит.
уведомление (тост)
S>5. Перевести пользователя в оффлайн-режим. К примеру, если нет подключения, но программа может работать в оффлайн.
это вообще из другой тематики. В большинстве случаев этого не надо либо достаточно сделать через пункты 2 или 4
S>6. Заставить пользователя пройти повторную авторизацию (переадресовать на форму входа). Если данные аутентификации отозваны, устарели и пр. Сюда же относим прочие переадресации на формы для обязательного ввода данных (а может быть и не обязательные).
редирект
S>7. Просто записать данные в лог/удаленный лог.
логгирование
S>8. Ничего не делать — проигнорить, но оборвать текущую операцию.
+пункт 2 или 4
S>9. Возможно — удалить текущую базу данных ввиду ее повреждения (если база не критична) или отобразить форму невозможности продолжения работы ввиду повреждения базы.
ОМГ что???
S>10. Попытаться устранить проблему автоматически — как-то устаревший формат файла — провести приведение к новому формату.
бизнес-логика
S>Итого — дофига разных вариантов какие типы реакций могут быть.
S>Фактически нужно помнить что каждая КАЖДАЯ операция может либо завершиться успешно — либо с ошибкой. Причем нужно правильно отреагировать — выбрать какой из 10 вариантов применить.
Итого: 1 пункт про ошибку + 1 про уведомляшку. Остальное про всякое разное стандартное полезное: логгирование, валидация и бизнес-логика