Функция catch
catch функциясы try-catch блогының бір бөлігі болып табылады және try блогында тасталуы мүмкін ерекше жағдайларды ұстау үшін қызмет етеді. Ерекше жағдай орын алған кезде, кодтың орындалуы сәйкес catch блогына ауысады, онда қатені өңдеуге болады.
Синтаксис
try {
// Ерекше жағдай тастауы мүмкін код
} catch (ExceptionType $e) {
// Ерекше жағдайды өңдеу
}
Мысал
Ерекше жағдайды өңдеудің қарапайым мысалы:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Ұсталған ерекше жағдай: ' . $e->getMessage();
}
?>
Кодты орындау нәтижесі:
'Ұсталған ерекше жағдай: Something went wrong'
Мысал
Әр түрлі ерекше жағдай түрлерін өңдеу:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Invalid argument');
} else {
throw new RuntimeException('Runtime error');
}
} catch (InvalidArgumentException $e) {
echo 'Жарамсыз аргумент: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Орындау уақыты қатесі: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Жалпы ерекше жағдай: ' . $e->getMessage();
}
?>
Кодты орындаудың мүмкін нәтижелері:
'Жарамсыз аргумент: Invalid argument'
немесе
'Орындау уақыты қатесі: Runtime error'