Функцыя catch

Функцыя catch з'яўляецца часткай блока try-catch і служыць для перахопу выключэнняў, якія могуць быць выкінуты ў блоке try. Пры ўзнікненні выключэння выкананне кода пераходзіць у адпаведны блок catch, дзе можна апрацаваць памылку.

Сінтаксіс

phptry {
  // Код, які можа выкінуць выключэнне
} catch (ExceptionType $e) {
  // Апрацоўка выключэння
}

Прыклад

Найпрасцейшы прыклад апрацоўкі выключэння:

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

Вынік выканання кода:

php'Caught exception: Something went wrong'

Прыклад

Апрацоўка розных тыпаў выключэнняў:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

Магчымыя вынікі выканання кода:

php'Invalid argument: Invalid argument'
ці
'Runtime error: Runtime error'

Глядзіце таксама

  • канструкцыю try,
    якая вызначае блок кода для апрацоўкі выключэнняў
  • канструкцыю throw,
    якая выкідвае выключэнне
  • клас Exception,
    які з'яўляецца базавым класам для ўсіх выключэнняў