Funksjonen catch
Funksjonen catch er en del av try-catch-blokken og tjener til å fange unntak som kan bli kastet i try-blokken. Når et unntak oppstår, går kodeutførelsen over til den tilsvarende catch-blokken, hvor feilen kan håndteres.
Syntaks
try {
// Kode som kan kaste et unntak
} catch (ExceptionType $e) {
// Håndtering av unntak
}
Eksempel
Et enkelt eksempel på håndtering av unntak:
<?php
try {
throw new Exception('Noe gikk galt');
} catch (Exception $e) {
echo 'Fanget unntak: ' . $e->getMessage();
}
?>
Resultat av kodekjøring:
'Fanget unntak: Noe gikk galt'
Eksempel
Håndtering av forskjellige typer unntak:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Ugyldig argument');
} else {
throw new RuntimeException('Runtime-feil');
}
} catch (InvalidArgumentException $e) {
echo 'Ugyldig argument: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Runtime-feil: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Generisk unntak: ' . $e->getMessage();
}
?>
Mulige resultater av kodekjøring:
'Ugyldig argument: Ugyldig argument'
eller
'Runtime-feil: Runtime-feil'