Petite fonction PHP pour afficher la description détaillée d'une exception. Contrairement à la fonction standard, elle ne tronque pas les arguments, ce qui est quand même plus pratique.
function displayException(Exception $e) {
echo '<pre>';
echo "Caught exception:\n\n " . get_class($e) . "\n\n";
echo "Message:\n\n " . $e->getMessage() . "\n\n";
echo "Trace:\n\n";
$trace = $e->getTrace();
foreach ($trace as $index => $item) {
echo " #$index {$item['file']}({$item['line']}): ";
if (isset($item['class'])) {
echo "{$item['class']}->{$item['function']}";
} else {
echo $item['function'];
}
echo '(';
$argsAsText = array();
foreach ($item['args'] as $arg) {
switch (gettype($arg)) {
case 'array':
$argsAsText[] = str_replace("\n", '', print_r($arg, true));
break;
case 'string':
$argsAsText[] = '"' . $arg . '"';
break;
default:
$argsAsText[] = $arg;
break;
}
}
echo implode(', ', $argsAsText), ");\n";
}
if (count($_POST) > 0) {
echo "\nPOST:\n\n " . str_replace("\n", "\n ", print_r($_POST, true));
}
if (isset($_SESSION)) {
echo "\nSESSION:\n\n " . str_replace("\n", "\n ", print_r($_SESSION, true));
}
exit();
}
Aucun commentaire:
Enregistrer un commentaire