Шаблон Observer может использоваться для ошибки , сообщающей . Что-то обнаруживает состояние ошибки и выдает ErrorEvent, что-то еще сообщает об ошибке в журнал или систему управления. Это довольно часто.
Однако рассмотрим основной поток вашего кода: вам, вероятно, нужно выбрать разные пути
fetch customer's details
if customer is a good credit risk
lend them some money
что делает ваш код, если данные клиента не могут быть получены из-за ошибки? В концепции вам нужно
fetch customer's details
if the fetch worked AND customer is a good credit risk
lend them some money
Существует некоторый уровень прямой обусловленности отсутствия ошибки. Мы можем реализовать это с помощью обработки исключений или проверки ошибок, но как бы мы это ни делали, мы должны действительно ОБРАЩАТЬСЯ к ошибке в нашей логике.
Теперь можно спроектировать систему, более управляемую событиями, в которой все происходит, реагируя на события. В этом случае все, а не только обработка ошибок, выполняется с использованием шаблона Observer.