21-06-2009, 09:51 PM
Sinon au lieu d'appeler ta fonction tu lèves une exception, et tu log quelque part son __toString(), qui contient la pile d'appel
Exemple :
Exemple :
Code PHP :
<?php
// Dans le script "racine" :
try {
main();
}
catch (Exception $e) {
// Logger le contenu de l'exception : le message + la pile
log_erreur($e->__toString());
}
// Quelque part dans tes fonctions :
$db = connect_db();
if (!$db) {
throw new Exception('Connexion impossible à la base de données');
}
Et si PHP était bien fait, toute erreur fatale mènerait à une exception au lieu d'une vieille fatal error poukrave inloggable, mais ce n'est pas le cas hélas