set_exception_handler funksiýasy

set_exception_handler funksiýasy tutulmadyk ýalňyşlyklary işlemek üçin çagyrylar funksiýany kesgitlemäge rugsat berýär. Parametr hökmünde işleýji funksiýanyň ady ýa-da anonim funksiýa berilýär. Işleýji, ýalňyşlyk objekti parametri hökmünde alýar.

Sintaksis

phpset_exception_handler(callable $exception_handler): callable

Mysal

Pesine ýalňyşlyk işleýjisini gurnalyň:

php<?php
  function myExceptionHandler($exception) {
    echo 'Tutulan ýalňyşlyk: ' . $exception->getMessage();
  }
  
  set_exception_handler('myExceptionHandler');
  
  throw new Exception('Bir zat ýalňyş boldy!');
?>

Kodyň iş netijesi:

php'Tutulan ýalňyşlyk: Bir zat ýalňyş boldy!'

Mysal

Işleýji hökmünde anonim funksiýany ulanmak:

php<?php
  set_exception_handler(function($exception) {
    echo 'Ýalňyşlyk: ' . $exception->getMessage();
  });
  
  throw new Exception('Kritik ýalňyşlyk');
?>

Kodyň iş netijesi:

php'Ýalňyşlyk: Kritik ýalňyşlyk'

Mysal

Öňki işleýjini dikeltmek:

php<?php
  function firstHandler($exception) {
    echo 'Birinji işleýji: ' . $exception->getMessage();
  }
  
  function secondHandler($exception) {
    echo 'Ikinji işleýji: ' . $exception->getMessage();
  }
  
  set_exception_handler('firstHandler');
  $old_handler = set_exception_handler('secondHandler');
  restore_exception_handler(); // firstHandler funksiýasyny dikeldýär
  
  throw new Exception('Synag');
?>

Kodyň iş netijesi:

php'Birinji işleýji: Synag'