Funkcia catch
Funkcia catch je súčasťou bloku try-catch a slúži na zachytenie výnimiek, ktoré môžu byť vyvolané v bloku try. Pri výskyte výnimky sa vykonávanie kódu presunie do príslušného bloku catch, kde je možné chybu spracovať.
Syntax
try {
// Kód, ktorý môže vyvolať výnimku
} catch (ExceptionType $e) {
// Spracovanie výnimky
}
Príklad
Najjednoduchší príklad spracovania výnimky:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Výsledok vykonania kódu:
'Caught exception: Something went wrong'
Príklad
Spracovanie rôznych typov výnimiek:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Invalid argument');
} else {
throw new RuntimeException('Runtime error');
}
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Runtime error: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ' . $e->getMessage();
}
?>
Možné výsledky vykonania kódu:
'Invalid argument: Invalid argument'
alebo
'Runtime error: Runtime error'