Контекст:
У меня есть три среды для приложения: разработка (локальная), тестовая/промежуточная (производственный сервер), производственная. Приложение знает, что есть что. Отчеты об ошибках как при промежуточной, так и в рабочей версии равны 0, поэтому ошибки никогда не отображаются. В разработке я хочу видеть ошибки сразу, и я хочу видеть их там, где они происходят, то есть не в каком-то журнале, а в результате кода.
Однако я этого не делаю Я не хочу видеть ошибки, которые я явно подавил с помощью @. Я использую fsockopen, и он выдает предупреждение, когда не удается подключиться. Я принимаю отсутствие соединения, но не хочу видеть ошибку. Даже не для разработчиков.
Очевидно, все ошибки проходят через специальный обработчик ошибок, даже если они были подавлены в коде.
Мой обработчик ошибок имеет всего 4 аргумента: errno, error, file, line. Из них я не могу понять, была ли ошибка изначально подавлена или нет. Если я это увижу, я смогу выбрать, печатать ли ошибку (сейчас я всегда так делаю, если env=dev).
Есть идеи? Или, может быть, о том, как полностью игнорировать подавленные ошибки (чтобы они даже не доходили до пользовательского обработчика ошибок)?
Подробнее здесь: https://stackoverflow.com/questions/742 ... pressed-by