Funkcija catch
Funkcija catch je del bloka try-catch in služi za prestrezanje izjem, ki so lahko vržene v bloku try. Ob pojavu izjeme se izvajanje koda prenese v ustrezen blok catch, kjer je možno obdelati napako.
Sintaksa
try {
// Koda, ki lahko vrže izjemo
} catch (ExceptionType $e) {
// Obdelava izjeme
}
Primer
Najenostavnejši primer obdelave izjeme:
<?php
try {
throw new Exception('Nekaj je šlo narobe');
} catch (Exception $e) {
echo 'Ujeta izjema: ' . $e->getMessage();
}
?>
Rezultat izvajanja koda:
'Ujeta izjema: Nekaj je šlo narobe'
Primer
Obdelava različnih tipov izjem:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Neveljaven argument');
} else {
throw new RuntimeException('Napaka pri izvajanju');
}
} catch (InvalidArgumentException $e) {
echo 'Neveljaven argument: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Napaka pri izvajanju: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Splošna izjema: ' . $e->getMessage();
}
?>
Možni rezultati izvajanja koda:
'Neveljaven argument: Neveljaven argument'
ali
'Napaka pri izvajanju: Napaka pri izvajanju'