Razred Exception
Razred Exception predstavlja osnovni razred za vse izjeme v PHP.
Vsebuje osnovne metode za delo z izjemami: pridobivanje sporočila o napaki,
kode napake, datoteke in vrstice, kjer je izjava nastala, ter sklada klicev.
Pri ustvarjanju izjeme je mogoče posredovati sporočilo, kodo napake in prejšnjo izjemo.
Sintaksa
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Primer
Ustvarimo in obdelajmo preprosto izjemo:
<?php
try {
throw new Exception('Nekaj je šlo narobe', 100);
} catch (Exception $e) {
echo 'Napaka: ' . $e->getMessage();
}
?>
Rezultat izvajanja kode:
'Napaka: Nekaj je šlo narobe'
Primer
Uporabimo glavne metode razreda Exception:
<?php
try {
throw new Exception('Testna izjema', 123);
} catch (Exception $e) {
echo 'Sporočilo: ' . $e->getMessage() . "\n";
echo 'Koda: ' . $e->getCode() . "\n";
echo 'Datoteka: ' . $e->getFile() . "\n";
echo 'Vrstica: ' . $e->getLine() . "\n";
}
?>
Rezultat izvajanja kode (primer):
'Sporočilo: Testna izjema
Koda: 123
Datoteka: /path/to/file.php
Vrstica: 3'
Primer
Pridobimo sklad klicev pri izjemi:
<?php
function test() {
throw new Exception('Test sklada klicev');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Rezultat izvajanja kode (primer):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Glejte tudi
-
razred
ErrorException,
ki predstavlja napake v obliki izjem -
funkcijo
set_exception_handler,
ki nastavi uporabniški upravljavec izjem