Try komanda

Konstrukcija try leidžia apdoroti išimtis, kurios gali atsirasti vykdant kodą. Bloke try patalpinamas potencialiai pavojingas kodas, o bloke catch - išimčių apdorotuvas. Taip pat gali būti naudojamas blokas finally, kuris vykdomas bet kuriuo atveju.

Sintaksė

phptry {
  // Kodas, kuris gali sukelti išimtį
} catch (ExceptionType $e) {
  // Išimties apdorojimas
} finally {
  // Kodas, kuris bus vykdomas bet kuriuo atveju
}

Pavyzdys

Paprasčiausias išimties apdorojimo pavyzdys:

php<?php
try {
  throw new Exception('Something went wrong');
} catch (Exception $e) {
  echo 'Caught exception: ', $e->getMessage();
}
?>

Kodo vykdymo rezultatas:

php'Caught exception: Something went wrong'

Pavyzdys

Pavyzdys su bloko finally naudojimu:

php<?php
try {
  echo 'Try block executed';
} finally {
  echo ' - Finally block executed';
}
?>

Kodo vykdymo rezultatas:

php'Try block executed - Finally block executed'

Pavyzdys

Įvairių tipų išimčių apdorojimas:

php<?php
try {
  // Kodas, kuris gali sukelti skirtingas išimtis
  throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
  echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Generic exception: ', $e->getMessage();
}
?>

Kodo vykdymo rezultatas:

php'Invalid argument: Invalid argument'

Taip pat žiūrėkite