php错误显示及报告处理 (2)

承上:

 PHP还允许您通过 set_error_handler( ) 函数指定您自已的出错处理函数。

如:set_error_handler('my_error_handler');

错误处理函数

function my_error_handler($number, $string, $file, $line, $context)

  {

    $error = "=  ==  ==  ==  ==/nPHP ERROR/n=  ==  ==  ==  ==/n";

    $error .= "Number: [$number]/n";

    $error .= "String: [$string]/n";

    $error .= "File:   [$file]/n";

    $error .= "Line:   [$line]/n";

    $error .= "Context:/n" . print_r($context, TRUE) . "/n/n";

 

    error_log($error, 3, 'c:/log.txt');

  }

则当

<?php
ini_set('error_reporting', E_ALL | E_STRICT);

ini_set('display_errors', 'Off');

ini_set('log_errors', 'On');

set_error_handler('my_error_handler');

echo $test;


 function my_error_handler($number, $string, $file, $line, $context)  {

    $error = "=  ==  ==  ==  ==/nPHP ERROR/n=  ==  ==  ==  ==/n";

    $error .= "Number: [$number]/n";

    $error .= "String: [$string]/n";

    $error .= "File:   [$file]/n";

    $error .= "Line:   [$line]/n";

    $error .= "Context:/n" . print_r($context, TRUE) . "/n/n";

 

    error_log($error, 3, 'c:/log.txt');

  }


?>

时,同样会把错误显示在log.txt下。当然也可通过某个函数专门处理错误发生时的流程。

PHP 5还允许向set_error_handler( )传递第二个参数以限定在什么出错情况下执行出定义的出错处理函数。比如,现在建立一个处理告警级别(warning)错误的函数:

  <?php

  set_error_handler('my_warning_handler', E_WARNING);

  ?>

    PHP5还提供了异常处理机制。这个后续若有学习再留下笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值