The track_errors parameter is PHP_INI_ALL, so you can use code like this:
<?php
ini_set('track_errors', 1);
$result = @do_risky_thing();
if (! $result) {
echo '<p>Error' . htmlspecialchars($php_errormsg) . '</p>';
}
ini_set('track_errors', 0);
?>
$php_errormsg
(PHP 4, PHP 5)
$php_errormsg — Le dernier message d'erreur
Description
$php_errormsg est une variable qui contient le texte de la dernière erreur générée par PHP. Cette variable sera uniquement accessible dans le même contexte d'exécution que celui de la ligne qui a généré l'erreur, et uniquement si la directive de configuration track_errors est activée (elle est désactivée par défaut).
Note: Cette variable n'est disponible que lorsque track_errors a été activé dans le fichier php.ini.
Si un gestionnaire d'erreurs définit par l'utilisateur est actif
(set_error_handler()), $php_errormsg ne sera
définit que si le gestionnaire d'erreur retourne FALSE.
Exemples
Exemple #1 Exemple avec $php_errormsg
<?php
@strpos();
echo $php_errormsg;
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Wrong parameter count for strpos()
Note: This variable doesn't seem to get populated if you're running Xdebug.
