首页 > 代码库 > 错误处理器、错误触发器

错误处理器、错误触发器

【错误级别】

2  E_WARNING:非致命的run-time错误。不暂停脚本执行。8  E_NOTICE:Run-time通知。脚本发现可能有错误发生,但也可能在脚本正常运行时发生。256  E_USER_ERROR:致命的用户生成的错误。trigger_error()设置的E_ERROR。512  E_USER_WARNING:非致命的用户生成的警告。trigger_error()设置的E_WARNING。1024  E_USER_NOTICE:用户生成的通知。trigger_error()设置的E_NOTICE。4096  E_RECOVERABLE_ERROR:可捕获的致命错误。类似E_ERROR,但可被用户定义的处理程序捕获。8191  E_ALL:所有错误和警告。

 

1.错误处理器(语法错误,自定义的系统错误)【set_error_handler();】

<?php     function myError($errorNo, $errorMsg) {        echo ‘错误行号:‘.$errorNo;        echo ‘错误信息:‘.$errorMsg;        exit();    }    set_error_handler("myError", E_WARNING);    $fp = fopen("abc.txt", "r");?>

 2.错误触发器(语法没错,自以为是的用户错误)【trigger_error(); error_log();】

<?php     function myError($errorNo, $errorMsg) {        echo ‘错误行号:‘.$errorNo;        echo ‘错误信息:‘.$errorMsg;        date_default_timezone_set("PRC");        $err_info = $errorNo.‘ -- ‘.$errorMsg;        //"\r\n"表示回车换行        error_log("时间是:".data("Y-m-d H-i-s")."--错误信息是:".$err_info."\r\n",3,"errLog.txt");        exit();    }    set_error_handler("myError", E_USER_WARNING);    $age=200;    if($age>200) {        trigger_error("输入年龄过大",E_USER_WARNING);        exit();    }?>

 

错误处理器、错误触发器