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