Komanda try
Konstrukcija try ļauj apstrādāt izņēmumus, kas var rasties koda izpildes laikā.
Blokā try tiek ievietots potenciāli bīstamais kods, bet blokā catch - izņēmumu apstrādātājs.
Var tikt izmantots arī bloks finally, kas izpildās jebkurā gadījumā.
Sintakse
try {
// Kods, kas var izraisīt izņēmumu
} catch (ExceptionType $e) {
// Izņēmuma apstrāde
} finally {
// Kods, kas izpildīsies jebkurā gadījumā
}
Piemērs
Vienkāršākais izņēmuma apstrādes piemērs:
<?php
try {
throw new Exception('Kaut kas nogāja greizi');
} catch (Exception $e) {
echo 'Noķerts izņēmums: ', $e->getMessage();
}
?>
Koda izpildes rezultāts:
'Noķerts izņēmums: Kaut kas nogāja greizi'
Piemērs
Piemērs ar bloka finally izmantošanu:
<?php
try {
echo 'Try bloks izpildīts';
} finally {
echo ' - Finally bloks izpildīts';
}
?>
Koda izpildes rezultāts:
'Try bloks izpildīts - Finally bloks izpildīts'
Piemērs
Dažādu izņēmumu tipu apstrāde:
<?php
try {
// Kods, kas var izraisīt dažādus izņēmumus
throw new InvalidArgumentException('Nederīgs arguments');
} catch (InvalidArgumentException $e) {
echo 'Nederīgs arguments: ', $e->getMessage();
} catch (Exception $e) {
echo 'Vispārējs izņēmums: ', $e->getMessage();
}
?>
Koda izpildes rezultāts:
'Nederīgs arguments: Nederīgs arguments'
Skatiet arī
-
konstrukciju
throw,
kas ģenerē izņēmumu -
funkciju
set_exception_handler,
kas nosaka izņēmumu apstrādātāju