Класси 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,
ки коркардгари истиснои корбарро муқаррар мекунад