设定错误和异常处理的三个函数(第二篇)

set_error_handler()

解释:设置用户自定义的错误处理函数,如果使用该函数,会绕过php错误处理程序,同时如果必要,用户定义错误程序通过die()终止脚本,如果错误发生在脚本执行前(比如文件上传)将不会调用自定义的错误处理函数 ,因为它尚未在那时注册

案例:

<?php
//用户定义的错误处理函数
    function myerror($errno,$errstr,$errfile,$errline){
        echo "<b>error:</b>[$errno]$errstr<br>";
        echo "Error on line $errline in $errfile";
    }
    //设置用户定义的错误处理函数
    set_error_handler('myerror');

    $test=false;
    if($test==false){
        trigger_error('错误产生了');
        /**
            trigger_error(errormsg,errortype); 
            errortype:
                E_USER_ERROR
                E_USER_WARNING
                E_USER_NOTICE(默认)
        */
    }
    /**
    执行结果:error:[1024]错误产生了 
                Error on line 12 in D:\web\m_study\a.php*/

?>

 

//用户定义的错误处理函数
    function myerror($errno,$errstr,$errfile,$errline){
        echo "<b>error:</b>[$errno]$errstr<br>";
        echo "Error on line $errline in $errfile";
    }
    //设置用户定义的错误处理函数
    set_error_handler('myerror');

    $test=false;
    if($test==false){
        trigger_error('错误产生了');
        /**
            trigger_error(errormsg,errortype);
            errortype:
                E_USER_ERROR
                E_USER_WARNING
                E_USER_NOTICE(默认)
        */
    }
    /**
    执行结果:error:[1024]错误产生了
                Error on line 12 in D:\web\m_study\a.php*/

posted @ 2016-11-23 14:27  小葱拌豆腐,  阅读(289)  评论(0编辑  收藏  举报