PHP捕捉普通异常和致命错误

普通错误用set_error_handler来捕捉,致命错误则用register_shutdown_function来捕捉:php

set_error_handler(function($errno, $errstr, $errfile, $errline){
            $errorContent = $errstr . ' '.$errfile . ' ' . 'line:' . $errline;
            echo $errContent;
        });
register_shutdown_function(function(){
    $e = error_get_last();
    switch($e['type']) {
        case E_ERROR:
        case E_PARSE:
        case E_CORE_ERROR:
        case E_COMPILE_ERROR:
        case E_USER_ERROR:
            $errorContent = implode('</br>#', explode('#', $e['message']. ' '.$e['file'] . ' ' . 'line:' . $e['line']));
            echo $errorContent;
            break;
    }
});