Funcția catch
Funcția catch face parte din blocul try-catch și servește la interceptarea excepțiilor care pot fi aruncate în blocul try. La apariția unei excepții, execuția codului trece în blocul catch corespunzător, unde se poate gestiona eroarea.
Sintaxă
try {
// Cod care poate arunca o excepție
} catch (ExceptionType $e) {
// Gestionarea excepției
}
Exemplu
Un exemplu simplu de gestionare a unei excepții:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Rezultatul executării codului:
'Caught exception: Something went wrong'
Exemplu
Gestionarea diferitelor tipuri de excepții:
<?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();
}
?>
Rezultate posibile ale executării codului:
'Invalid argument: Invalid argument'
sau
'Runtime error: Runtime error'