Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
366 of 410 menu

Клас Exception

Клас Exception ўяўляе сабой базавы клас для ўсіх выключэнняў у PHP. Ён змяшчае асноўныя метады для работы з выключэннямі: атрыманне паведамлення пра памылку, кода памылкі, файла і радкі дзе ўзнікла выключэнне, а таксама стэка выклікаў. Пры стварэнні выключэння можна перадаць паведамленне, код памылкі і папярэдняе выключэнне.

Сінтаксіс

new Exception(string $message = "", int $code = 0, Throwable $previous = null);

Прыклад

Створим і апрацуем простае выключэнне:

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

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

'Error: Something went wrong'

Прыклад

Выкарыстаем асноўныя метады класа Exception:

<?php try { throw new Exception('Test exception', 123); } catch (Exception $e) { echo 'Message: ' . $e->getMessage() . "\n"; echo 'Code: ' . $e->getCode() . "\n"; echo 'File: ' . $e->getFile() . "\n"; echo 'Line: ' . $e->getLine() . "\n"; } ?>

Вынік выканання кода (прыклад):

'Message: Test exception Code: 123 File: /path/to/file.php Line: 3'

Прыклад

Атрымаем стэк выклікаў пры выключэнні:

<?php function test() { throw new Exception('Stack trace test'); } try { test(); } catch (Exception $e) { print_r($e->getTrace()); } ?>

Вынік выканання кода (прыклад):

[ [ 'file' => '/path/to/file.php', 'line' => 5, 'function' => 'test', 'args' => [] ] ]

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

  • клас ErrorException,
    які ўяўляе памылкі ў выглядзе выключэнняў
  • функцыю set_exception_handler,
    якая ўстанаўлівае карыстальніцкі апрацоўшчык выключэнняў
byenru