Klasė Exception
Klasė Exception yra pagrindinė visų išimčių klasė PHP.
Joje yra pagrindiniai metodai darbui su išimtimis: klaidos pranešimo gavimas,
klaidos kodas, failas ir eilutė kurioje iškilo išimtis, bei iškvietimų sekos.
Kuriant išimtį galima perduoti pranešimą, klaidos kodą ir ankstesnę išimtį.
Sintaksė
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Pavyzdys
Sukurkime ir apdorokime paprastą išimtį:
<?php
try {
throw new Exception('Kažkas nutiko negerai', 100);
} catch (Exception $e) {
echo 'Klaida: ' . $e->getMessage();
}
?>
Kodo vykdymo rezultatas:
'Klaida: Kažkas nutiko negerai'
Pavyzdys
Naudokime pagrindinius Exception klasės metodus:
<?php
try {
throw new Exception('Testinė išimtis', 123);
} catch (Exception $e) {
echo 'Pranešimas: ' . $e->getMessage() . "\n";
echo 'Kodas: ' . $e->getCode() . "\n";
echo 'Failas: ' . $e->getFile() . "\n";
echo 'Eilutė: ' . $e->getLine() . "\n";
}
?>
Kodo vykdymo rezultatas (pavyzdys):
'Pranešimas: Testinė išimtis
Kodas: 123
Failas: /path/to/file.php
Eilutė: 3'
Pavyzdys
Gaukime iškvietimų seką išimties metu:
<?php
function test() {
throw new Exception('Iškvietimų sekos testas');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Kodo vykdymo rezultatas (pavyzdys):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Taip pat žiūrėkite
-
klasę
ErrorException,
kuri atstovauja klaidas kaip išimtis -
funkciją
set_exception_handler,
kuri nustato vartotojo išimčių tvarkytuvą