php的异常处理,php 异常处理

当前位置:我的异常网» PHP » php 异常处理

php 异常处理

www.myexceptions.net  网友分享于:2013-11-08  浏览:7次

php 错误处理

一、错误的种类

查看源码复制到剪切板打印帮助

; E_ALL         //-所有的错误和警告,(不包含E_STRICT).

; E_ERROR       //-致命的运行时错误

; E_RECOVERABLE_ERROR   //- 几乎致命的运行时错误

; E_WARNING     //- 运行时的警告(非致命错误)

; E_PARSE       //-编译时解析错误

; E_NOTICE      //- 运行时的提示,这些提示常常是代码中的bug引起的。

; E_STRICT      //- 运行时提示,能够给于PHP建议,以改善你的代码。

; E_CORE_ERROR      //- PHP 初始化启动过程中的致命错误。

; E_CORE_WARNING    //- PHP 初始化启动过程中的非致命错误。

; E_COMPILE_ERROR   //- 致命的编译错误。

; E_COMPILE_WARNING //– 编译错误(非致命的错误)。

; E_USER_ERROR      //- 用户错误信息。

; E_USER_WARNING    //- 用户警告信息。

; E_USER_NOTICE     //-用户提示信息。;

二、php.ini 配置错误显示与否

查看源码复制到剪切板打印帮助

//1、错误消息输出到用户端(调试代码时候,打开这项更方便)

display_errors = ON

//2、错误消息将不会输出到用户端(最终发布给用户时记得改成off)

display_errors = OFF

三、php.ini 错误输出配置推荐

查看源码复制到剪切板打印帮助

//1、表示输出所有的信息。

error_reporting  = E_ALL

//2、表示输出所有的错误,除了提示。

error_reporting  = E_ALL & ~E_NOTICE

//3、表示输出所有的 ERROR  信息。

error_reporting  = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR

四、php 中调整整错误级别

1、错误级别列表

值   错误代码

1   E_ERROR

2   E_WARNING

4   E_PARSE

8   E_NOTICE

16  E_CORE_ERROR

32  E_CORE_WARNING

64  E_COMPILE_ERROR

128 E_COMPILE_WARNING

256 E_USER_ERROR

512 E_USER_WARNING

1024    E_USER_NOTICE

2047    E_ALL

2048    E_STRICT

4096    E_RECOVERABLE_ERROR

2、使用 error_reporting ( [int level] ) 调整错误级别

例子

查看源码复制到剪切板打印帮助

error_reporting(0); //关闭所有错误显示

error_reporting(E_ERROR | E_WARNING | E_PARSE);

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

error_reporting(E_ALL ^ E_NOTICE); //php.ini错误值。

error_reporting(E_ALL); //显示所有错误信息。

五、自定义错误函数处理

1、使用 set_error_handler()函数向系统声明错误处理函数

2、使用 trigger_error()函数,可以触发一个 error

例子

查看源码复制到剪切板打印帮助

function myErrorHandler($errno, $errstr, $errfile, $errline)

{

switch ($errno) {

case E_USER_ERROR:

echo "My ERROR [$errno] $errstr\n";

echo "  Fatal error in line $errline of file $errfile";

echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")\n";

echo "Aborting...\n";

exit(1);

break;

case E_USER_WARNING:

echo "My WARNING [$errno] $errstr\n";

break;

case E_USER_NOTICE:

echo "My NOTICE [$errno] $errstr\n";

break;

default:

echo "Unknown error type: [$errno] $errstr\n";

break;

}

}

//定义错误处理函数.

set_error_handler("myErrorHandler");

//假设出现了负数的年龄,这明显是错误的。

$age = -100;

if ($age < 0) {

//触发错误;

trigger_error("age you input  must >= 0", E_USER_ERROR);

}

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值