Что делать с исключениями в классах репозитория? - PullRequest
3 голосов
/ 13 августа 2010

Если в классе репозитория возникает ошибка / исключение, должно ли это исключение получить

a.пойман и зарегистрирован, или
b.выбрасывается звонящему (сервис - что с ним там?)

Ответы [ 3 ]

2 голосов
/ 13 августа 2010

Ответ всегда с исключениями: «Разберись с ними, где с ними можно иметь дело»

Если, несмотря на исключение, хранилище может все же сформулировать приемлемое возвращаемое значение, то хранилище должно обработатьit.

Если репозиторий не может, и только у вызывающего пользователя есть вся информация, необходимая для решения проблемы, то должно всплыть исключение.

1 голос
/ 13 августа 2010

Если вы можете, обработайте исключение изящно (перехватить, зарегистрировать, восстановить) в репозитории и передать состояние отказа обратно вызывающей стороне, чтобы позволить вызывающей стороне обработать сбой из их уважения. Если вы не можете, то это вероятно фатальное исключение и время для входа в систему, если вы можете и прекратить.

0 голосов
/ 13 августа 2010

В общем, я предпочитаю ловить и регистрировать исключения, где они возникают. Так что я пойду с собой. Обычно в момент возникновения исключения у вас есть наибольшая информация об ошибке, и вы можете записать описательное сообщение, что облегчает просмотр журнала. Если вы передадите ошибку по цепочке, то будет гораздо сложнее найти место, где произошла ошибка. Не то чтобы намного сложнее было проверить внутреннее исключение, но в зависимости от того, как далеко вы его пропустили, когда оно регистрируется, вы не близко к исходной ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...