Code : Tout sélectionner
[client 0.0.0.0] PHP Notice: Undefined variable: mavariable in /var/www/vhosts/monsite.com/httpdocs/mapage.php on line 25 recupere les fichiers d'erreurs
Hmm, et comment tu la crées dans le bon scope ?Et encore mieux, set_error_handler() te permet de créer ta propre fonction pour gérer les erreurs (ex : variable indéfinie ? ==> tu la crées).
Pas. Voilà comment il les gère... Seules certaines extensions génèrent des exceptions, mais tu peux utiliser ton propre error_handler pour transformer les erreurs en exception. (simplement en générant une exception dans ton gestionnaire d'erreur)j'ai prévu de les utiliser mais je ne sais pas trop comment php les gère...
<?php
function e_handler($errno, $message, $file, $line)
{
throw(new Exception());
}
set_error_handler('e_handler');
try
{
$test = array();
echo $test['null'];
}
catch(Exception e)
{
echo 'erreur';
}
?>
L'erreur sera captée par le error_handler et l'exception lancée par celui ci sera captée ?
<?php
function e_handler($errno, $message, $file, $line)
{
throw(new Exception($message));
}
set_error_handler('e_handler', E_ALL | E_STRICT);
try
{
$test = array();
echo $test['null'];
}
catch (Exception $e)
{
echo 'Exception: ', $e->getMessage(), ' ligne ', $e->getLine();
}
Cet exemple dira "Exception ... ligne 5", ligne qui a lancé l'exception.
echo $test['null'];
équivalait au simple appel de la fonction :
e_handler(0, '', __FILE__, __LINE__);
Mais à te lire, ca semble être le cas...