Сообщение Посчитать с ошибкой или выдать сообщение об ошибке? от 29.10.2017 16:23
Изменено 29.10.2017 16:27 Shmj
Посчитать с ошибкой или выдать сообщение об ошибке?
Допустим, вам нужно посчитать сумму на всех счетах. И возникла ситуация, когда сумма на одном из счетов не установлена (т.е. API не возвращает значением суммы вообще), хотя согласно протоколу взаимодействия такая ситуация исключена. Выбор:
1. Либо отобразить сообщение об ошибке, сказать что на одном из счетов сумма не установлена. Но тогда даже примерной информации у пользователя не будет. Может ему будет полезна информация, что там как минимум 1 млн. руб. есть, пусть даже не удалось учесть все счета.
2. Просуммировать сумму на счетах, которые доступны, а там где нарушение протокола -- игнорить. Но тогда пользователь может быть введен в заблуждение, ведь некоторые счета просуммировать не удалось.
3. Выдать сообщение, что удалось просуммировать 100 счетов из 112, выдать что получилось и выдать какие счета не удалось учесть ввиду серверной ошибки.
Или другой пример.
Вам нужно посчитать количество товара, доступное во всех магазинах ваших конкурентов. У каждого магазина свое API, независимое. И при попытке получить кол-во товара, 3 магазина из 100 вернули ошибку. Что делать? Вообще не отображать информацию или же игнорить те, которые вернули ошибку и просуммировать имеющиеся данные?
Сталкивались ли вы с подобными системами, как обычно решают эти проблемы (проблема неполноты данных, что ли)?
1. Либо отобразить сообщение об ошибке, сказать что на одном из счетов сумма не установлена. Но тогда даже примерной информации у пользователя не будет. Может ему будет полезна информация, что там как минимум 1 млн. руб. есть, пусть даже не удалось учесть все счета.
2. Просуммировать сумму на счетах, которые доступны, а там где нарушение протокола -- игнорить. Но тогда пользователь может быть введен в заблуждение, ведь некоторые счета просуммировать не удалось.
3. Выдать сообщение, что удалось просуммировать 100 счетов из 112, выдать что получилось и выдать какие счета не удалось учесть ввиду серверной ошибки.
Или другой пример.
Вам нужно посчитать количество товара, доступное во всех магазинах ваших конкурентов. У каждого магазина свое API, независимое. И при попытке получить кол-во товара, 3 магазина из 100 вернули ошибку. Что делать? Вообще не отображать информацию или же игнорить те, которые вернули ошибку и просуммировать имеющиеся данные?
Сталкивались ли вы с подобными системами, как обычно решают эти проблемы (проблема неполноты данных, что ли)?
Посчитать с ошибкой или выдать сообщение об ошибке?
Допустим, вам нужно посчитать сумму на всех счетах. И возникла ситуация, когда сумма на одном из счетов не установлена (т.е. API не возвращает значением суммы вообще), хотя согласно протоколу взаимодействия такая ситуация исключена. Выбор:
1. Либо отобразить сообщение об ошибке, сказать что на одном из счетов сумма не установлена. Но тогда даже примерной информации у пользователя не будет. Может ему будет полезна информация, что там как минимум 1 млн. руб. есть, пусть даже не удалось учесть все счета.
2. Просуммировать сумму на счетах, которые доступны, а там где нарушение протокола -- игнорить. Но тогда пользователь может быть введен в заблуждение, ведь некоторые счета просуммировать не удалось.
3. Выдать сообщение, что удалось просуммировать 100 счетов из 112, выдать что получилось и выдать какие счета не удалось учесть ввиду серверной ошибки.
Или другой пример.
Вам нужно посчитать количество товара, доступное во всех магазинах ваших конкурентов. У каждого магазина свое API, независимое. И при попытке получить кол-во товара, 3 магазина из 100 вернули ошибку. Что делать? Вообще не отображать информацию или же игнорить те, которые вернули ошибку и просуммировать имеющиеся данные?
Сталкивались ли вы с подобными системами, как обычно решают эти проблемы (проблема неполноты данных, что ли)?
И связанный с этим вопрос. Какой механизм для передачи информации о накопившихся ошибках лучше использовать? Ведь исключение (Exception) не выйдет, оно обрывает процесс исполнения. Тогда коды возврата? Вернее список код возврата + сообщение?
1. Либо отобразить сообщение об ошибке, сказать что на одном из счетов сумма не установлена. Но тогда даже примерной информации у пользователя не будет. Может ему будет полезна информация, что там как минимум 1 млн. руб. есть, пусть даже не удалось учесть все счета.
2. Просуммировать сумму на счетах, которые доступны, а там где нарушение протокола -- игнорить. Но тогда пользователь может быть введен в заблуждение, ведь некоторые счета просуммировать не удалось.
3. Выдать сообщение, что удалось просуммировать 100 счетов из 112, выдать что получилось и выдать какие счета не удалось учесть ввиду серверной ошибки.
Или другой пример.
Вам нужно посчитать количество товара, доступное во всех магазинах ваших конкурентов. У каждого магазина свое API, независимое. И при попытке получить кол-во товара, 3 магазина из 100 вернули ошибку. Что делать? Вообще не отображать информацию или же игнорить те, которые вернули ошибку и просуммировать имеющиеся данные?
Сталкивались ли вы с подобными системами, как обычно решают эти проблемы (проблема неполноты данных, что ли)?
И связанный с этим вопрос. Какой механизм для передачи информации о накопившихся ошибках лучше использовать? Ведь исключение (Exception) не выйдет, оно обрывает процесс исполнения. Тогда коды возврата? Вернее список код возврата + сообщение?