要想处理 php 异常,就要先知道 php 的错误级别,看看下面:
值
常量
描述
2
E_WARNING
非致命的 run-time 错误。不暂停脚本执行。
8
E_NOTICE
Run-time 通知。
脚本发现可能有错误发生,但也可能在脚本正常运行时发生。
256
E_USER_ERROR
致命的用户生成的错误。这类似于程序员使用 PHP 函数
trigger_error()
设置的 E_ERROR。
512
E_USER_WARNING
非致命的用户生成的警告。这类似于程序员使用 PHP 函数
trigger_error()
设置的 E_WARNING。
1024 E_USER_NOTICE
用户生成的通知。这类似于程序员使用 PHP
函数 trigger_error()
设置的 E_NOTICE。
409
6
E_RECOVERABLE_ERROR
可捕获的致命错误。类似 E_ERROR,但可被用户定义的处理程序捕
获。(
参见 set_error_handler())
8191 E_ALL
所有错误和警告,除级别 E_STRICT 以外。
(在 PHP 6.0,E_STRICT
是 E_ALL 的一部分)
通常,我们在代码中使用 if...else...,exit(),die()处理错误情况,这样有很大的局限性,
那么怎么自定义自己的处理机制呢?
1.自定义错误函数
1.
<?
php
2.
function
my_error
(
$errno
,
$errstr
){
3.
echo
"<font color='red'>错误编号:$errno</font> 错误信息:
$errstr"
;
4.
exit
();
5.
}
6.
set_error_handler
(
my_error
,
E_WARNING
);
7.
$fp
=
fopen
(
"test.txt"
,
"r"
);
8. ?>