ბრძანება throw

ბრძანება throw გამოიყენება გამონაკლისის ცხადად გასაშვებად PHP-ში. ის იღებს ერთ პარამეტრს - გამონაკლისის ობიექტს, რომელიც უნდა იყოს კლასის ეგზემპლარი, რომელიც მემკვიდრეობით მიიღო ძირითადი კლასისგან Exception. ამ ფუნქციის გამოძახებისას მიმდინარე კოდის შესრულება მყისიერად წყდება, და PHP ცდილობს იპოვოს შესაბამისი catch ბლოკი გამონაკლისის დასამუშავებლად.

სინტაქსი

phpthrow new ExceptionClass(message, code, previous);

მაგალითი

გამონაკლისის გენერაციის მარტივი მაგალითი:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Age cannot be negative');
  }
?>

კოდის შესრულების შედეგი:

phpFatal error: Uncaught Exception: Age cannot be negative

მაგალითი

მაგალითი გამონაკლისის დამუშავებით:

php<?php
  try {
    $res = 10 / 0;
    if (is_infinite($res)) {
      throw new Exception('Division by zero');
    }
  } catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
  }
?>

კოდის შესრულების შედეგი:

php'Error: Division by zero'

მაგალითი

მომხმარებლის გამონაკლისის გამოყენება:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Custom error message');
  } catch (MyCustomException $e) {
    echo 'Custom error caught: ' . $e->getMessage();
  }
?>

კოდის შესრულების შედეგი:

php'Custom error caught: Custom error message'

ასევე იხილეთ

  • კონსტრუქცია try,
    რომელიც განსაზღვრავს კოდის ბლოკს გამონაკლისების დასამუშავებლად
  • კონსტრუქცია catch,
    რომელიც იჭერს და ამუშავებს გამონაკლისებს
  • კლასი Exception,
    რომელიც არის ყველა გამონაკლისის ძირითადი კლასი