Клас 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,
която задава потребителски обработчик на изключения