Funkcija catch
Funkcija catch ir daļa no try-catch bloka un kalpo izņēmumu pārtveršanai, kas var tikt izmesti try blokā. Izņēmuma gadījumā koda izpilde pāriet atbilstošajā catch blokā, kur kļūda var tikt apstrādāta.
Sintakse
try {
// Kods, kas var izmest izņēmumu
} catch (ExceptionType $e) {
// Izņēmuma apstrāde
}
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
Dažādu izņēmumu tipu apstrāde:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Nederīgs arguments');
} else {
throw new RuntimeException('Izpildes kļūda');
}
} catch (InvalidArgumentException $e) {
echo 'Nederīgs arguments: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Izpildes kļūda: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Vispārējs izņēmums: ' . $e->getMessage();
}
?>
Iespējamie koda izpildes rezultāti:
'Nederīgs arguments: Nederīgs arguments'
vai
'Izpildes kļūda: Izpildes kļūda'