De catch-functie
De functie catch maakt deel uit van een try-catch-blok en dient om uitzonderingen op te vangen die kunnen worden geworpen in het try-blok. Wanneer een uitzondering optreedt, springt de uitvoering van de code naar het bijbehorende catch-blok, waar de fout kan worden afgehandeld.
Syntaxis
try {
// Code die een uitzondering kan werpen
} catch (ExceptionType $e) {
// Afhandeling van de uitzondering
}
Voorbeeld
Een eenvoudig voorbeeld van uitzonderingsafhandeling:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Resultaat van de code-uitvoering:
'Caught exception: Something went wrong'
Voorbeeld
Afhandeling van verschillende soorten uitzonderingen:
<?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();
}
?>
Mogelijke resultaten van de code-uitvoering:
'Invalid argument: Invalid argument'
of
'Runtime error: Runtime error'