A set_exception_handler függvény

A set_exception_handler függvény lehetővé teszi annak a függvénynek a meghatározását, amely a nem elkapott kivételek kezelésére lesz meghívva. A paraméterben egy kezelő függvény neve vagy egy anonim függvény adható át. A kezelő a kivétel objektumot kapja paraméterként.

Szintaxis

phpset_exception_handler(callable $exception_handler): callable

Példa

Állítsunk be egy egyszerű kivételkezelőt:

php<?php
  function myExceptionHandler($exception) {
    echo 'Elkaptott kivétel: ' . $exception->getMessage();
  }
  
  set_exception_handler('myExceptionHandler');
  
  throw new Exception('Valami elromlott!');
?>

A kód végrehajtásának eredménye:

php'Elkaptott kivétel: Valami elromlott!'

Példa

Anonim függvény használata kezelőként:

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

A kód végrehajtásának eredménye:

php'Hiba: Kritikus hiba'

Példa

Az előző kezelő visszaállítása:

php<?php
  function firstHandler($exception) {
    echo 'Első kezelő: ' . $exception->getMessage();
  }
  
  function secondHandler($exception) {
    echo 'Második kezelő: ' . $exception->getMessage();
  }
  
  set_exception_handler('firstHandler');
  $old_handler = set_exception_handler('secondHandler');
  restore_exception_handler(); // Visszaállítja az firstHandler-t
  
  throw new Exception('Teszt');
?>

A kód végrehajtásának eredménye:

php'Első kezelő: Teszt'