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ă.