Класс Exception
Exception класса PHP даги барча истиснолар учун асосий классни ифодалайди.
У истиснолар билан ишлаш учун асосий методларни ўз ичига олади: хатолик хақида хабар олиш,
хатолик коди, истисно пайдо бўлган файл ва сатр, шунингдек чақириқлар стеки.
Истисно яратилганда хабар, хатолик коди ва олдинги истиснони ўтказish мумкин.
Синтаксис
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функцияси,
фойдаланувчи истиснолар қайта ишловчисини ўрнатадиган