background image

自定义

 

     php

 

     错误处理和

 

     php

 

     异常处理

 

 

要想处理 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. ?>