Kazi set_exception_handler

Kazi set_exception_handler inaruhusu kufafanua kazi ambayo itaitwa kuchakata isipokuwa zisizokamatwa. Kigezo hupewa jina la kichakataji-kazi au kazi isiyo na jina. Kichakataji hupata kitu cha isipokuwa kama kigezo.

Syntax

phpset_exception_handler(callable $exception_handler): callable

Mfano

Weka kichakataji rahisi cha isipokuwa:

php<?php
  function myExceptionHandler($exception) {
    echo 'Isipokuwa ilikamatwa: ' . $exception->getMessage();
  }
  
  set_exception_handler('myExceptionHandler');
  
  throw new Exception('Kitu kilienda vibaya!');
?>

Matokeo ya utekelezaji wa kificho:

php'Isipokuwa ilikamatwa: Kitu kilienda vibaya!'

Mfano

Matumizi ya kazi isiyo na jina kama kichakataji:

php<?php
  set_exception_handler(function($exception) {
    echo 'Hitilafu: ' . $exception->getMessage();
  });
  
  throw new Exception('Hitilafu kubwa');
?>

Matokeo ya utekelezaji wa kificho:

php'Hitilafu: Hitilafu kubwa'

Mfano

Kurejesha kichakataji cha awali:

php<?php
  function firstHandler($exception) {
    echo 'Kichakataji cha kwanza: ' . $exception->getMessage();
  }
  
  function secondHandler($exception) {
    echo 'Kichakataji cha pili: ' . $exception->getMessage();
  }
  
  set_exception_handler('firstHandler');
  $old_handler = set_exception_handler('secondHandler');
  restore_exception_handler(); // Inarejesha firstHandler
  
  throw new Exception('Kijaribio');
?>

Matokeo ya utekelezaji wa kificho:

php'Kichakataji cha kwanza: Kijaribio'