Funkcija set_exception_handler

Funkcija set_exception_handler omogoča določitev funkcije, ki bo poklicana za obdelavo neujetih izjem. Parameter prejme ime funkcije upravljavca ali anonimno funkcijo. Upravljavec prejme objekt izjeme kot parameter.

Sintaksa

phpset_exception_handler(callable $exception_handler): callable

Primer

Nastavimo preprost upravljavec izjem:

php<?php
  function myExceptionHandler($exception) {
    echo 'Ujeta izjema: ' . $exception->getMessage();
  }
  
  set_exception_handler('myExceptionHandler');
  
  throw new Exception('Nekaj je šlo narobe!');
?>

Rezultat izvajanja kode:

php'Ujeta izjema: Nekaj je šlo narobe!'

Primer

Uporaba anonimne funkcije kot upravljavca:

php<?php
  set_exception_handler(function($exception) {
    echo 'Napaka: ' . $exception->getMessage();
  });
  
  throw new Exception('Kritična napaka');
?>

Rezultat izvajanja kode:

php'Napaka: Kritična napaka'

Primer

Obnovitev prejšnjega upravljavca:

php<?php
  function firstHandler($exception) {
    echo 'Prvi upravljavec: ' . $exception->getMessage();
  }
  
  function secondHandler($exception) {
    echo 'Drugi upravljavec: ' . $exception->getMessage();
  }
  
  set_exception_handler('firstHandler');
  $old_handler = set_exception_handler('secondHandler');
  restore_exception_handler(); // Obnovi firstHandler
  
  throw new Exception('Test');
?>

Rezultat izvajanja kode:

php'Prvi upravljavec: Test'