Klas ErrorException
Die klas ErrorException erf van die basisklas Exception en word gebruik
om PHP-foute in uitsonderings om te skakel. Dit voeg by die standaard funksionaliteit
van uitsonderings inligting oor die erns van die fout (severity). Die klas is veral nuttig
wanneer dit saam met die funksie set_error_handler gebruik word.
Sintaksis
new ErrorException(
string $message = "",
int $code = 0,
int $severity = E_ERROR,
string $filename = __FILE__,
int $lineno = __LINE__,
Throwable $previous = null
);
Voorbeeld
Skep en hanteer 'n ErrorException:
<?php
try {
throw new ErrorException('Kritieke fout', 0, E_ERROR);
} catch (ErrorException $e) {
echo 'Fout: ' . $e->getMessage();
echo ' Ernst: ' . $e->getSeverity();
}
?>
Resultaat van die kode-uitvoering:
'Fout: Kritieke fout Ernst: 1'
Voorbeeld
Skakel standaard PHP-foute om in uitsonderings:
<?php
function errorHandler($severity, $message, $file, $line) {
throw new ErrorException($message, 0, $severity, $file, $line);
}
set_error_handler('errorHandler');
try {
strpos(); // Verkeerde aantal argumente
} catch (ErrorException $e) {
echo 'Uitsondering gevang: ' . $e->getMessage();
echo ' in ' . $e->getFile();
echo ' op lyn ' . $e->getLine();
}
?>
Resultaat van die kode-uitvoering (voorbeeld):
'Uitsondering gevang: strpos() verwag ten minste 2 parameters, 0 gegee in /pad/na/lêer.php op lyn 10'
Voorbeeld
Kry inligting oor die erns van die fout:
<?php
try {
throw new ErrorException('Waarskuwingsboodskap', 0, E_WARNING);
} catch (ErrorException $e) {
echo 'Ernsvlak: ' . $e->getSeverity();
echo ' Is waarskuwing: ' . ($e->getSeverity() === E_WARNING ? 'ja' : 'nee');
}
?>
Resultaat van die kode-uitvoering:
'Ernsvlak: 2 Is waarskuwing: ja'
Sien ook
-
klas
Exception,
basisklas vir alle uitsonderings in PHP -
funksie
set_error_handler,
wat 'n gebruikersfout-hanteerder instel