Funkcija catch
Funkcija catch je deo try-catch bloka i služi za hvatanje izuzetaka koji mogu biti bačeni u bloku try. Kada se pojavi izuzetak, izvršenje koda prelazi u odgovarajući catch blok, gde se greška može obraditi.
Sintaksa
try {
// Kod koji može da baci izuzetak
} catch (ExceptionType $e) {
// Obrada izuzetka
}
Primer
Najjednostavniji primer obrade izuzetka:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Rezultat izvršavanja koda:
'Caught exception: Something went wrong'
Primer
Obrada različitih tipova izuzetaka:
<?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();
}
?>
Mogući rezultati izvršavanja koda:
'Invalid argument: Invalid argument'
ili
'Runtime error: Runtime error'