Per impostazione predefinita Xdebug sarà il dump alcuna eccezione, indipendentemente dal fatto che sia catturato o no:Disattivazione Xdebug di scarico di eccezioni catturate
try {
throw new Exception();
}
catch (Exception $e) {
}
echo 'life goes on';
Con XDebug abilitato e le impostazioni di default questo pezzo di codice qualcosa sarà effettivamente output come il seguente (ben formattato):
(!) Exception: in /test.php on line 3 Call Stack
# Time Memory Function Location 1 0.0003 52596 {main}() ../test.php:0
life goes on
È possibile disabilitare questo comportamento e fare in modo che vengano eseguite solo le eccezioni non rilevate?
Grazie in anticipo.
UPDATE: Sto per concludere che si tratta di un bug, in quanto xdebug.show_exception_trace è disabilitato per default ma non si comporta come previsto (utilizzando Xdebug v2.0.5 con PHP 5.2.10 su Ubuntu 9.10).
Sono d'accordo che questo ha qualcosa a che fare con xdebug.show_exception_trace. Penso che quando impostato a 0 dovrebbe ignorare le eccezioni rilevate, ma in qualche modo questo non funziona anche disabilitandolo esplicitamente. – nuqqsa
Parla con Derick su # php.pecl @ EFNet o usa il bug tracker su http://bugs.xdebug.org/ – Artefacto
Questo ultimo commento completa la tua risposta :) Segnalerò sicuramente questo errore nel caso io possa riproducilo ancora in 2.1.0RCx. Grazie. – nuqqsa