Уровни исключений и регистрация - PullRequest
1 голос
/ 27 апреля 2019

Мне нужно разработать систему интеграции с различными информационными системами.

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

Для регистрации и других уведомлений я выбрал Monolog.

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

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

  1. UnloggedInterface - все необработанные ошибки регистрируются по умолчанию.Этот интерфейс помечает Exceptions, который вообще не требуется регистрировать.

  2. PreloggedInterface - этот интерфейс помечает исключения, которые необходимо регистрировать в любом случае: не имеет значения, являются ли ониобрабатываются или нет.

  3. OutableInterface - этот интерфейс помечает исключения, текст которых может быть предоставлен пользователю.

IНе понимаю, какой должна быть иерархия наследования Exception классов?

На каком этапе вам нужно регистрировать Exceptions?Во время бросания исключений?или во время обработки Exception?и что делать с Exceptions, которые не обрабатываются (как их регистрировать?)?

Может понадобиться использовать Monolog\ErrorHandler?(но я не знаю как) ..

Подскажите пожалуйста как быть?Где я могу увидеть примеры?Или где почитать об этом?

Мне бы очень хотелось понять, как это работает.И посмотрите примеры правильной работы с включениями.

Также приведите примеры из GitHub.

Буду признателен за любую помощь.

...