Try komanda
Konstrukcija try leidžia apdoroti išimtis, kurios gali atsirasti vykdant kodą.
Bloke try patalpinamas potencialiai pavojingas kodas, o bloke catch - išimčių apdorotuvas.
Taip pat gali būti naudojamas blokas finally, kuris vykdomas bet kuriuo atveju.
Sintaksė
try {
// Kodas, kuris gali sukelti išimtį
} catch (ExceptionType $e) {
// Išimties apdorojimas
} finally {
// Kodas, kuris bus vykdomas bet kuriuo atveju
}
Pavyzdys
Paprasčiausias išimties apdorojimo pavyzdys:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
Kodo vykdymo rezultatas:
'Caught exception: Something went wrong'
Pavyzdys
Pavyzdys su bloko finally naudojimu:
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
Kodo vykdymo rezultatas:
'Try block executed - Finally block executed'
Pavyzdys
Įvairių tipų išimčių apdorojimas:
<?php
try {
// Kodas, kuris gali sukelti skirtingas išimtis
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
Kodo vykdymo rezultatas:
'Invalid argument: Invalid argument'
Taip pat žiūrėkite
-
konstrukciją
throw,
kuri generuoja išimtį -
funkciją
set_exception_handler,
kuri nustato išimčių apdorotuvą