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'Առաջին մշակիչ. Փորձարկում'