კლასი Exception
კლასი Exception წარმოადგენს საბაზისო კლასს ყველა გამონაკლისისთვის PHP-ში.
მასში შედის ძირითადი მეთოდები გამონაკლისებთან მუშაობისთვის: შეცდომის შეტყობინების მიღება,
შეცდომის კოდი, ფაილი და სტრიქონი სადაც გამონაკლისი მოხდა, ასევე გამოძახებების სტეკი.
გამონაკლისის შექმნისას შესაძლებელია გადავცეთ შეტყობინება, შეცდომის კოდი და წინა გამონაკლისი.
სინტაქსი
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
მაგალითი
შევქმნათ და დავამუშავოთ მარტივი გამონაკლისი:
<?php
try {
throw new Exception('რაღაც შეცდომა მოხდა', 100);
} catch (Exception $e) {
echo 'შეცდომა: ' . $e->getMessage();
}
?>
კოდის შესრულების შედეგი:
'შეცდომა: რაღაც შეცდომა მოხდა'
მაგალითი
გამოვიყენოთ კლასი Exception-ის ძირითადი მეთოდები:
<?php
try {
throw new Exception('ტესტური გამონაკლისი', 123);
} catch (Exception $e) {
echo 'შეტყობინება: ' . $e->getMessage() . "\n";
echo 'კოდი: ' . $e->getCode() . "\n";
echo 'ფაილი: ' . $e->getFile() . "\n";
echo 'სტრიქონი: ' . $e->getLine() . "\n";
}
?>
კოდის შესრულების შედეგი (მაგალითი):
'შეტყობინება: ტესტური გამონაკლისი
კოდი: 123
ფაილი: /path/to/file.php
სტრიქონი: 3'
მაგალითი
მივიღოთ გამოძახებების სტეკი გამონაკლისის დროს:
<?php
function test() {
throw new Exception('სტეკის ტრეისის ტესტი');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
კოდის შესრულების შედეგი (მაგალითი):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
იხილეთ აგრეთვე
-
კლასი
ErrorException,
რომელიც წარმოადგენს შეცდომებს გამონაკლისების სახით -
ფუნქცია
set_exception_handler,
რომელიც აყენებს მომხმარებლის მიერ განსაზღვრულ გამონაკლისების დამმუშავებელს