De try-instructie

De constructie try maakt het mogelijk om uitzonderingen (exceptions) af te handelen die kunnen optreden tijdens de uitvoering van code. In het try blok wordt de potentieel riskante code geplaatst, en in het catch blok - de afhandelaar voor uitzonderingen. Ook kan het finally blok gebruikt worden, dat in elk geval wordt uitgevoerd.

Syntaxis

phptry {
  // Code die een uitzondering kan veroorzaken
} catch (ExceptionType $e) {
  // Afhandeling van de uitzondering
} finally {
  // Code die in elk geval wordt uitgevoerd
}

Voorbeeld

Een eenvoudig voorbeeld van het afhandelen van een uitzondering:

php<?php
try {
  throw new Exception('Er ging iets mis');
} catch (Exception $e) {
  echo 'Opgevangen uitzondering: ', $e->getMessage();
}
?>

Resultaat van de code-uitvoering:

php'Opgevangen uitzondering: Er ging iets mis'

Voorbeeld

Voorbeeld met gebruik van het finally blok:

php<?php
try {
  echo 'Try-blok uitgevoerd';
} finally {
  echo ' - Finally-blok uitgevoerd';
}
?>

Resultaat van de code-uitvoering:

php'Try-blok uitgevoerd - Finally-blok uitgevoerd'

Voorbeeld

Afhandeling van verschillende soorten uitzonderingen:

php<?php
try {
  // Code die verschillende uitzonderingen kan veroorzaken
  throw new InvalidArgumentException('Ongeldig argument');
} catch (InvalidArgumentException $e) {
  echo 'Ongeldig argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Algemene uitzondering: ', $e->getMessage();
}
?>

Resultaat van de code-uitvoering:

php'Ongeldig argument: Ongeldig argument'

Zie ook

  • de constructie throw,
    die een uitzondering genereert
  • de functie set_exception_handler,
    die een afhandelaar voor uitzonderingen instelt