ფუნქცია set_exception_handler

ფუნქცია set_exception_handler საშუალებას აძლევს განისაზღვროს ფუნქცია, რომელიც გამოიძახება დაუჭერელი გამონაკლისების დასამუშავებლად. პარამეტრად გადაეცემა დამმუშავებელი ფუნქციის სახელი ან ანონიმური ფუნქცია. დამმუშავებელი იღებს გამონაკლისის ობიექტს პარამეტრად.

სინტაქსი

phpset_exception_handler(callable $exception_handler): callable

მაგალითი

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

php<?php
  function myExceptionHandler($exception) {
    echo 'დაჭერილი გამონაკლისი: ' . $exception->getMessage();
  }
  
  set_exception_handler('myExceptionHandler');
  
  throw new Exception('რაღაც შეცდომა მოხდა!');
?>

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

php'დაჭერილი გამონაკლისი: რაღაც შეცდომა მოხდა!'

მაგალითი

ანონიმური ფუნქციის გამოყენება დამმუშავებლად:

php<?php
  set_exception_handler(function($exception) {
    echo 'შეცდომა: ' . $exception->getMessage();
  });
  
  throw new Exception('კრიტიკული შეცდომა');
?>

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

php'შეცდომა: კრიტიკული შეცდომა'

მაგალითი

წინა დამმუშავებლის აღდგენა:

php<?php
  function firstHandler($exception) {
    echo 'პირველი დამმუშავებელი: ' . $exception->getMessage();
  }
  
  function secondHandler($exception) {
    echo 'მეორე დამმუშავებელი: ' . $exception->getMessage();
  }
  
  set_exception_handler('firstHandler');
  $old_handler = set_exception_handler('secondHandler');
  restore_exception_handler(); // აღადგენს firstHandler-ს
  
  throw new Exception('ტესტი');
?>

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

php'პირველი დამმუშავებელი: ტესტი'