Klase Exception
Klase Exception ir PHP pamatklase visiem izņēmumiem.
Tā satur pamata metodes izņēmumu apstrādei: kļūdas ziņojuma iegūšanu,
kļūdas kodu, failu un rindu, kurā izņēmums tika izraisīts, kā arī izsaukumu steku.
Izveidojot izņēmumu, var nodot ziņojumu, kļūdas kodu un iepriekšējo izņēmumu.
Sintakse
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Piemērs
Izveidosim un apstrādāsim vienkāršu izņēmumu:
<?php
try {
throw new Exception('Kaut kas nogāja greizi', 100);
} catch (Exception $e) {
echo 'Kļūda: ' . $e->getMessage();
}
?>
Koda izpildes rezultāts:
'Kļūda: Kaut kas nogāja greizi'
Piemērs
Izmantosim klases Exception pamatmetodes:
<?php
try {
throw new Exception('Testa izņēmums', 123);
} catch (Exception $e) {
echo 'Ziņojums: ' . $e->getMessage() . "\n";
echo 'Kods: ' . $e->getCode() . "\n";
echo 'Fails: ' . $e->getFile() . "\n";
echo 'Rinda: ' . $e->getLine() . "\n";
}
?>
Koda izpildes rezultāts (piemērs):
'Ziņojums: Testa izņēmums
Kods: 123
Fails: /path/to/file.php
Rinda: 3'
Piemērs
Iegūsim izsaukumu steku izņēmuma gadījumā:
<?php
function test() {
throw new Exception('Steka izsekošanas tests');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Koda izpildes rezultāts (piemērs):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Skatiet arī
-
klasi
ErrorException,
kura attēlo kļūdas kā izņēmumus -
funkciju
set_exception_handler,
kura iestata lietotāja definētu izņēmumu apstrādātāju