Сообщения об исключениях и уже отправленные заголовки при разработке - PullRequest
0 голосов
/ 21 октября 2011

На моей машине для разработки я установил error_reporting на E_ALL | E_STRICT, чтобы увидеть все сообщения об ошибках, которые происходят в моем коде. Но когда я имею дело с пойманными исключениями, такими как:

try {
   throw new MyException('Exception message.');
} catch (MyException $e) {
    // code that handles the exception but without print anything
}

PHP всегда показывает сообщение об ошибке:

MyException: Exception message in file://path/to/failed/file.php

и после этого PHP не может отправлять новые заголовки.

Знаете ли вы какой-нибудь способ избежать автоматически сгенерированных ошибок PHP, которые будут отображаться поднятыми, но перехваченными исключениями с display_errors=On и error_reporting=E_ALL |E_STRICT?

Ответы [ 3 ]

0 голосов
/ 21 октября 2011

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

0 голосов
/ 01 февраля 2012

Хорошо, это была моя вина.

Если у вас установлен xdebug и если в вашей конфигурации xdebug есть xdebug.show_exception_trace = 1

всегда возникает исключение, xdebug выводит трассировку стека.

0 голосов
/ 21 октября 2011

Вы можете установить собственный обработчик ошибок и сделать так, чтобы ошибки регистрировались в файл или что-то вроде этого.Информацию об этом можно найти здесь: http://php.net/manual/en/function.set-error-handler.php

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