ПХП хвата грешке на нивоу ФАТАЛ

Званична референца

Званични сајт set_error_handler register_shutdown_function

Како савршено ухватити све грешке

сет_еррор_хандлер се може користити за хватање већине типова грешака. Када се наиђе на грешку на нивоу ФАТАЛ, јер ПХП директно прекида операцију, функција повратног позива постављена сет_еррор_хандлер не може се активирати. Тренутно морамо да користимо функцију регистер_схутдовн_фунцтион да поставимо функцију повратног позива за завршетак програма. Треба напоменути да се повратни позив постављен функцијом регистер_схутдовн_фунцтион извршава након завршетка програма, без обзира да ли постоји грешка у процесу. Дакле, у овом повратном позиву такође морамо утврдити да ли је дошло до грешке, а ако је дошло до грешке, забележићемо је у евиденцију. За детаље погледајте следећи код.

            set_error_handler('exception_handler');
register_shutdown_function('shutdown_handler');
function exception_handler($err_no, $err_str, $err_file, $err_line)
{
    error_reporting(0);
    // save error log
    // ...
    error_reporting(E_ALL);
}
function shutdown_handler()
{
    $error = error_get_last();
    if (empty($error)) {
        return;
    }
    error_reporting(0);
    // save error log
    // ...
    error_reporting(E_ALL);
}