Функция catch

catch функциясы try-catch блогының бір бөлігі болып табылады және try блогында тасталуы мүмкін ерекше жағдайларды ұстау үшін қызмет етеді. Ерекше жағдай орын алған кезде, кодтың орындалуы сәйкес catch блогына ауысады, онда қатені өңдеуге болады.

Синтаксис

phptry {
  // Ерекше жағдай тастауы мүмкін код
} catch (ExceptionType $e) {
  // Ерекше жағдайды өңдеу
}

Мысал

Ерекше жағдайды өңдеудің қарапайым мысалы:

php<?php
  try {
    throw new Exception('Something went wrong');
  } catch (Exception $e) {
    echo 'Ұсталған ерекше жағдай: ' . $e->getMessage();
  }
?>

Кодты орындау нәтижесі:

php'Ұсталған ерекше жағдай: Something went wrong'

Мысал

Әр түрлі ерекше жағдай түрлерін өңдеу:

php<?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();
  }
?>

Кодты орындаудың мүмкін нәтижелері:

php'Жарамсыз аргумент: Invalid argument'
немесе
'Орындау уақыты қатесі: Runtime error'

Сондай-ақ қараңыз

  • try құрылымы,
    ерекше жағдайларды өңдеу үшін код блогын анықтайды
  • throw құрылымы,
    ерекше жағдай тастайды
  • Exception класы,
    барлық ерекше жағдайлар үшін негізгі класс болып табылады