Функция catch

Функция catch try-catch блокининг бир кисми бўлиб, try блокида отилиши мумкин бўлган холатларни ушлаш учун хизмат қилади. Холат юз белганда, коднинг бажарилиши мос catch блока ўтиб, у ерда хатоликни ишлов бериш мумкин.

Синтаксис

phptry {
  // Холат отилиши мумкин бўлган код
} catch (ExceptionType $e) {
  // Холатни ишлов бериш
}

Мисол

Холатни ишлов беришнинг содда мисоли:

php<?php
  try {
    throw new Exception('Something went wrong');
  } catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
  }
?>

Кодни бажариш натижаси:

php'Caught exception: 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 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

Кодни бажаришнинг имконий натижалари:

php'Invalid argument: Invalid argument'
ёки
'Runtime error: Runtime error'

Қўшимча қаранг

  • try конструкцияси,
    холатларни ишлов бериш учун код блоғини аникловчи
  • throw конструкцияси,
    холат отиш учун
  • Exception класси,
    барча холатлар учун асосий класс бўлган