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 — A mensagem de erro anterior
Descrição
$php_errormsg é uma variável contendo o texto da última mensagem de erro gerado pelo PHP. Esta variável somente estará disponível dentro do escopo no qual o erro ocorreu, e somente se a opção de configuração track_errors estiver on (o padrão é off).
Nota: Esta variável está somente disponível quando a track_errors estiver habilitada no php.ini.
Aviso
Se um manuseador de erro definido pelo
usuário é usado, $php_erromsg somente será definida se
o manuseador de erro retornar FALSE
Exemplos
Exemplo #1 Exemplo da $php_errormsg
<?php
@strpos();
echo $php_errormsg;
?>
O exemplo acima irá imprimir algo similar à:
Wrong parameter count for strpos()
josh at karmabunny dot com dot au ¶
1 year ago
quickshiftin at gmail dot com ¶
3 months ago
While $php_errormsg is a global, it is not a superglobal.
You'll have to qualify it with a global keyword inside a function.
<?php
function checkErrormsg()
{
global $php_errormsg;
@strpos();
return $php_errormsg;
}
?>
