E>1. Использовать механизм исключений или анализ возвращаемого значения для обнаружения ошибок.
Механизм исключений.
E>2. Централизованная обработка ошибок или обработка ошибок на месте. Под централизованной обработкой я имею в виду систему, где каждая операция проходит через некоторый, скажем, контроллер. Единственным назначением данного контроллера является анализ результата операции на предмет наличия ошибки (проверка возвращаемого значения, перехват исключения и т.п.) и публикация этого результата (лог, сообщение пользователю). Под децентрализованой системой я имею в виду систему, где ошибки обрабатываются и публикуются прямо на месте ее возникновения.
Центральная — причем, она делается в первую очередь, на случай в том числе и непредвиденных ошибок).
Далее добавляются локальные обработчики для тех случаев, когда по месту мы можем точнее понять/устранить причину ошибки.