get_exception_handler în PHP

Returnează funcția setată cu set_exception_handler pentru excepțiile neprinse, sau null.

Sintaxă
get_exception_handler(): ?callable

Ce face get_exception_handler

Ca get_error_handler, dar pentru handler-ul de excepții. Este util în biblioteci și teste, când vrei să verifici dacă aplicația are deja un handler înainte să îl înlocuiești.

Ce returnează

Handler-ul activ sau null.

Exemple

Exemplul 1: Păstrarea handler-ului existent

<?php
set_exception_handler(fn(Throwable $e) => print("Handler aplicație: " . $e->getMessage()));

$anterior = get_exception_handler();
set_exception_handler(function (Throwable $e) use ($anterior) {
    echo "Jurnalizez: " . get_class($e) . "\n";
    $anterior($e);
});

throw new RuntimeException("Serviciul de plăți nu răspunde");

Rezultat

Jurnalizez: RuntimeException
Handler aplicație: Serviciul de plăți nu răspunde

Greșeli frecvente

  • Înlocuiești handler-ul aplicației fără să îl apelezi pe cel vechi. Pagina de eroare sau jurnalizarea existentă nu mai rulează.

Comenzi înrudite

  • set_exception_handler: Setează funcția care rulează când o excepție nu este prinsă de niciun bloc catch.
  • get_error_handler: Returnează funcția de tratare a erorilor setată cu set_error_handler, sau null dacă nu există.