По умолчанию Xdebug выведет любое исключение независимо от того, поймано ли это или нет:
try {
throw new Exception();
}
catch (Exception $e) {
}
echo 'life goes on';
С включенным XDebug и настройки по умолчанию эта часть кода на самом деле произведет что-то как следующее (приятно отформатированный):
( ! ) Exception: in /test.php on line 3 Call Stack
# Time Memory Function Location 1 0.0003 52596 {main}( ) ../test.php:0
life goes on
Действительно ли возможно отключить это поведение и иметь его выводящий только неперехваченные исключения?
Заранее спасибо.
ОБНОВЛЕНИЕ: я собираюсь прийти к заключению, что это - ошибка, так как xdebug.show_exception_trace отключен по умолчанию все же, он не ведет себя как ожидалось (использующий Xdebug v2.0.5 с PHP 5.2.10 на Ubuntu 9.10).
Измените параметр xdebug.show_exception_trace (обратите внимание, что он не включен по умолчанию).
xdebug.show_exception_trace
Тип: целое число, значение по умолчанию: 0
Если этот параметр установлен в 1, Xdebug будет показывать трассировку стека всякий раз, когда возникает исключение - даже если это исключение действительно перехватывается.