Команда try

Конструкција try омогућава обраду изузетака који могу настати приликом извршавања кода. У блоку try се смешта потенцијално опасан код, а у блоку catch - рутина за обраду изузетка. Такође може да се користи блок finally, који се извршава у сваком случају.

Синтакса

phptry {
  // Код који може да изазове изузетак
} catch (ExceptionType $e) {
  // Обрада изузетка
} finally {
  // Код који ће се извршити у сваком случају
}

Пример

Најједноставнији пример обраде изузетка:

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

Резултат извршавања кода:

php'Caught exception: Something went wrong'

Пример

Пример са коришћењем блока finally:

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

Резултат извршавања кода:

php'Try block executed - Finally block executed'

Пример

Обрада различитих типова изузетака:

php<?php
try {
  // Код који може да изазове различите изузетке
  throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
  echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
  echo 'Generic exception: ', $e->getMessage();
}
?>

Резултат извршавања кода:

php'Invalid argument: Invalid argument'

Види још

  • конструкцију throw,
    која генерише изузетак
  • функцију set_exception_handler,
    која поставља рутину за обраду изузетака