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_errormsg — Предишното съобщение за грешка
Описание
$php_errormsg е променлива, която съдържа текстът на последното съобщение за грешка, създадено от PHP. Тази променлива ще бъде налична единствено в обхвата, в който се е случила грешката и единствено ако конфигурационната опция track_errors е включена (по подразбиране не е).
Забележка: Тази променлива е налична единствено, когато track_errors е включена в php.ini.
Предупреждение
Ако има настроен потребителски дефиниран обработчик на грешки, $php_errormsg ще бъде попълнена единствено ако обработчикът на грешки върне FALSE
Примери
Example #1 Пример за $php_errormsg
<?php
@strpos();
echo $php_errormsg;
?>
Примерът по-горе ще изведе нещо подобно на:
Wrong parameter count for strpos()
josh at karmabunny dot com dot au
04-Jul-2011 09:41
ryan kulla
19-Jan-2009 08:32
Note: This variable doesn't seem to get populated if you're running Xdebug.
