კლასი Exception

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

სინტაქსი

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

მაგალითი

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

php<?php
  try {
    throw new Exception('რაღაც შეცდომა მოხდა', 100);
  } catch (Exception $e) {
    echo 'შეცდომა: ' . $e->getMessage();
  }
?>

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

php'შეცდომა: რაღაც შეცდომა მოხდა'

მაგალითი

გამოვიყენოთ კლასი Exception-ის ძირითადი მეთოდები:

php<?php
  try {
    throw new Exception('ტესტური გამონაკლისი', 123);
  } catch (Exception $e) {
    echo 'შეტყობინება: ' . $e->getMessage() . "\n";
    echo 'კოდი: ' . $e->getCode() . "\n";
    echo 'ფაილი: ' . $e->getFile() . "\n";
    echo 'სტრიქონი: ' . $e->getLine() . "\n";
  }
?>

კოდის შესრულების შედეგი (მაგალითი):

php'შეტყობინება: ტესტური გამონაკლისი
კოდი: 123
ფაილი: /path/to/file.php
სტრიქონი: 3'

მაგალითი

მივიღოთ გამოძახებების სტეკი გამონაკლისის დროს:

php<?php
  function test() {
    throw new Exception('სტეკის ტრეისის ტესტი');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

კოდის შესრულების შედეგი (მაგალითი):

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

იხილეთ აგრეთვე

  • კლასი ErrorException,
    რომელიც წარმოადგენს შეცდომებს გამონაკლისების სახით
  • ფუნქცია set_exception_handler,
    რომელიც აყენებს მომხმარებლის მიერ განსაზღვრულ გამონაკლისების დამმუშავებელს