PHP 自定义错误处理函数的使用详解

 更新时间:2013年05月10日 17:12:34   作者:  
本篇文章是对PHP自定义错误处理函数的使用进行了详细的分析介绍。需要的朋友参考下

复制代码 代码如下:

function myErrorHandler($errno, $errstr, $errfile, $errline){
    if(!(error_reporting() &$errno)){return;}
    switch ($errno){
    case E_USER_ERROR:
        echo "<b>My ERROR</b> [$errno] $errstr<br/>";
        echo "错误行:$errline 在文件:$errfile之中<br/>";
        echo " PHP版本: " .PHP_VERSION ." (" .PHP_OS .")<br/>";
        break;
    case E_USER_WARNING:
        echo "<b>My WARNING</b> [$errno] $errstr<br/>";
        break;
    case E_USER_NOTICE:
        echo "<b>My NOTICE</b> [$errno] $errstr<br />";
        break;
    default:
        echo "Unknown error type: [$errno] $errstr<br />";
        break;
    }
    return true;
}

function trigger_test($age){//抛出错误的测试函数
    if($age <= 0 || $age > 999) trigger_error("年龄不合法:$age岁", E_USER_ERROR);
    if($age < 18) trigger_error("未成年:$age岁", E_USER_WARNING);
    if($age > 40 && $age < 100) trigger_error("年龄稍大:$age岁", E_USER_NOTICE);
}
//如果只是简单统一地处理错误:
$errorHandler = set_error_handler("myErrorHandler");
trigger_test(1000);//会抛出一个error级的错误


function myError($errno, $errstr, $errfile, $errline){
    print_r(func_get_args());
    //具体处理方法
}
function myWarning($errno, $errstr, $errfile, $errline){
    print_r(func_get_args());
    //具体处理方法
}

function myNtice($errno, $errstr, $errfile, $errline){
    print_r(func_get_args());
    //具体处理方法
}

//如果要分别处理不同错误级别:
set_error_handler('myError',E_USER_ERROR);
set_exception_handler('myWarning',E_USER_WARNING);
set_exception_handler('myNtice',E_USER_NOTICE);
trigger_error('故意抛出个错误,还是很严重的哪一种!',E_USER_ERROR);

相关文章

  • PHP解析html类库simple_html_dom的转码bug

    PHP解析html类库simple_html_dom的转码bug

    这篇文章主要介绍了PHP解析html类库simple_html_dom的转码bug ,需要的朋友可以参考下
    2014-05-05
  • ThinkPHP的Widget扩展实例

    ThinkPHP的Widget扩展实例

    这篇文章主要介绍了ThinkPHP的Widget扩展 ,需要的朋友可以参考下
    2014-06-06
  • destoon之一键登录设置

    destoon之一键登录设置

    这篇文章主要介绍了destoon的一键登录设置,需要的朋友可以参考下
    2014-06-06
  • ThinkPHP框架设计及扩展详解

    ThinkPHP框架设计及扩展详解

    本文详细介绍了ThinkPHP框架的框架分层及url路由、ThinkPHP扩展、数据库驱动扩展、Behavior行为扩展以及源码分析与不足,讲解的十分全面系统,这里推荐给大家,有想学习ThinkPHP的小伙伴千万不要错过。
    2014-11-11
  • LaravelS通过Swoole加速Laravel/Lumen详解

    LaravelS通过Swoole加速Laravel/Lumen详解

    这篇文章主要给大家介绍了关于LaravelS通过Swoole加速Laravel/Lumen的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • PHP实现微信网页授权开发教程

    PHP实现微信网页授权开发教程

    这篇文章主要为大家分享了PHP实现微信网页授权开发教程,开发者可以通过授权后获取用户的基本信息,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE

    php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE

    其中menu UL UL的left或者right控制向右或者向左显示子菜单
    2009-10-10
  • 实例讲解php数据访问

    实例讲解php数据访问

    这篇文章主要以实例讲解的方式为大家详细介绍了php数据访问,数据访问有两种方式,本文为大家揭晓,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • PHP时间和日期函数详解

    PHP时间和日期函数详解

    php函数的多样化和功能相近真是一大特点,同一个应用可以用多种函数实现,这恐怕也是开源的一个弊端了;通过对PHP时间函数的系统学习,充分理解了时间戳和时区的概念(这个真的很重要),有需要的小伙伴可以参考下。
    2015-05-05
  • Laravel框架查询构造器常见用法总结

    Laravel框架查询构造器常见用法总结

    这篇文章主要介绍了Laravel框架查询构造器常见用法,结合实例形式总结分析了laravel框架查询构造器相关原理与常见使用技巧,需要的朋友可以参考下
    2019-12-12

最新评论