Exception-klassen
Klassen Exception representerer grunnklassen for alle unntak i PHP.
Den inneholder grunnleggende metoder for arbeid med unntak: henting av feilmelding,
feilkode, fil og linje hvor unntaket oppstod, samt samt call stack.
Ved opprettelse av et unntak kan man sende en melding, feilkode og forrige unntak.
Syntaks
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Eksempel
La oss opprette og håndtere et enkelt unntak:
<?php
try {
throw new Exception('Noe gikk galt', 100);
} catch (Exception $e) {
echo 'Feil: ' . $e->getMessage();
}
?>
Resultat av kjøring:
'Feil: Noe gikk galt'
Eksempel
La oss bruke hovedmetodene til Exception-klassen:
<?php
try {
throw new Exception('Testunntak', 123);
} catch (Exception $e) {
echo 'Melding: ' . $e->getMessage() . "\n";
echo 'Kode: ' . $e->getCode() . "\n";
echo 'Fil: ' . $e->getFile() . "\n";
echo 'Linje: ' . $e->getLine() . "\n";
}
?>
Resultat av kjøring (eksempel):
'Melding: Testunntak
Kode: 123
Fil: /path/to/file.php
Linje: 3'
Eksempel
La oss hente call stack ved et unntak:
<?php
function test() {
throw new Exception('Stack trace test');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Resultat av kjøring (eksempel):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Se også
-
klassen
ErrorException,
som representerer feil som unntak -
funksjonen
set_exception_handler,
som setter en brukerdefinert unntakshåndterer