ფუნქცია 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,
    რომელიც არის ყველა გამონაკლისის ბაზისური კლასი