说的
网站建设语言,大家都知道PHP,因为PHP
网站建设已经无处不在,今天我们济南
网站制作 要谈的是如何用PHP自定义错误处理函数,下边直接上代码了。
01.function myErrorHandler($errno, $errstr, $errfile, $errline){
02.if(!(error_reporting() &$errno)){return;}
03.switch ($errno){
04.case E_USER_ERROR:
05.echo "<b>My ERROR</b> [$errno] $errstr<br/>";
06.echo "错误行:$errline 在文件:$errfile之中<br/>";
07.echo " PHP版本: " .PHP_VERSION ." (" .PHP_OS .")<br/>";
08.break;
09.case E_USER_WARNING:
10.echo "<b>My WARNING</b> [$errno] $errstr<br/>";
11.break;
12.case E_USER_NOTICE:
13.echo "<b>My NOTICE</b> [$errno] $errstr<br />";
14.break;
15.default:
16.echo "Unknown error type: [$errno] $errstr<br />";
17.break;
18.}
19.return true;
20.}
21.
22.function trigger_test($age){//抛出错误的测试函数
23.if($age <= 0 || $age > 999) trigger_error("年龄不合法:$age岁", E_USER_ERROR);
24.if($age < 18) trigger_error("未成年:$age岁", E_USER_WARNING);
25.if($age > 40 && $age < 100) trigger_error("年龄稍大:$age岁", E_USER_NOTICE);
26.}
27.//如果只是简单统一地处理错误:
28.$errorHandler = set_error_handler("myErrorHandler");
29.trigger_test(1000);//会抛出一个error级的错误
30.
31.
32.function myError($errno, $errstr, $errfile, $errline){
33.print_r(func_get_args());
34.//具体处理方法
35.}
36.function myWarning($errno, $errstr, $errfile, $errline){
37.print_r(func_get_args());
38.//具体处理方法
39.}
40.
41.function myNtice($errno, $errstr, $errfile, $errline){
42.print_r(func_get_args());
43.//具体处理方法
44.}
45.
46.//如果要分别处理不同错误级别:
47.set_error_handler('myError',E_USER_ERROR);
48.set_exception_handler('myWarning',E_USER_WARNING);
49.set_exception_handler('myNtice',E_USER_NOTICE);
50.trigger_error('故意抛出个错误,还是很严重的哪一种!',E_USER_ERROR);