2013-04-19 2 views
0

Я работаю над приложением, которое параллельно обрабатывает последовательные данные. Параметр Datapoints из нескольких объектов может обрабатываться параллельно, но не может быть обработано два момента данных для одного и того же объекта. Второй datapoint объекта A сильно зависит от результата обработки первого datapoint. Но интересно, какой был бы лучший/правильный способ обработки исключений, возникающих при обработке первого datapoint? Я могу повторить операцию, очевидно, установив счетчик повторов. Но что делать, если операция не может завершиться в заданном количестве попыток? Должен ли я отключить приложение и реализовать какое-то уведомление?Правильный способ обработки исключений в критическом для производительности приложении

+0

«при обработке первого дататота» какие типы исключений могут быть выброшены? Возможно, можно уловить ошибки. –

+0

Пока его единственная база данных связана. SqlExceptions, вызванные обслуживанием БД. Но процесс не может задерживаться для обслуживания. И обслуживание может продолжаться 3-4 часа. – Dimitri

+1

. Вы задаете вопрос, касающийся конкретной заявки. Независимо от того, «вы крутите» приложение или нет, это зависит от вас. Оба сценария являются «действительными», но только один подходит вам. Повреждает ли сбои данные? Сохраняет ли постоянная потеря данных? и т. д., это вопросы * вы должны придумать ответы для принятия обоснованного решения о том, что делать (или откладывать на ваших пользователей). –

ответ

0

Как я понимаю, у вас есть три варианта:

  1. поймать исключение и продолжить. Проблема: это приведет к повреждению данных.
  2. Выключите программу так же изящно, как вы можете. Конечно, выведите некоторое сообщение о том, почему вы это сделали.
  3. Установите флаг, чтобы сказать «не обрабатывать больше данных для этого объекта» и продолжить обработку других объектов. Опять же, вы хотите уведомить пользователя об ошибке.
Смежные вопросы