Посчитать с ошибкой или выдать сообщение об ошибке?
От: Shmj Ниоткуда  
Дата: 29.10.17 16:23
Оценка: :)
Допустим, вам нужно посчитать сумму на всех счетах. И возникла ситуация, когда сумма на одном из счетов не установлена (т.е. API не возвращает значением суммы вообще), хотя согласно протоколу взаимодействия такая ситуация исключена. Выбор:

1. Либо отобразить сообщение об ошибке, сказать что на одном из счетов сумма не установлена. Но тогда даже примерной информации у пользователя не будет. Может ему будет полезна информация, что там как минимум 1 млн. руб. есть, пусть даже не удалось учесть все счета.
2. Просуммировать сумму на счетах, которые доступны, а там где нарушение протокола -- игнорить. Но тогда пользователь может быть введен в заблуждение, ведь некоторые счета просуммировать не удалось.
3. Выдать сообщение, что удалось просуммировать 100 счетов из 112, выдать что получилось и выдать какие счета не удалось учесть ввиду серверной ошибки.

Или другой пример.

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

Сталкивались ли вы с подобными системами, как обычно решают эти проблемы (проблема неполноты данных, что ли)?

И связанный с этим вопрос. Какой механизм для передачи информации о накопившихся ошибках лучше использовать? Ведь исключение (Exception) не выйдет, оно обрывает процесс исполнения. Тогда коды возврата? Вернее список код возврата + сообщение?
Отредактировано 29.10.2017 16:27 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.