Каманда 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,
    якая ўсталёўвае апрацоўшчык выключэнняў