你好,欢迎访问远方教程PC版!
广告位招租
网站首页 >> PHP教程 >> PHP实例教程 >> 文章内容

PHP编程处理错误的常用方法

[日期:2014-11-16]   来源:远方教程  作者:远方教程   阅读:2084次[字体: ] 访问[旧版]
 捐赠远方教程 

  在php编程中,处理错误的方法有很多,本文列举一些常用方法:

        一、利用die()语句【等价于exit();】

例题:

    if(!file_exists('aa.txt')){
        die('文件不存在');
    } else {
        //执行操作
    }
    //如果上面die()被触发,那么这里echo接不被执行
    echo 'ok';
 
    简洁写法:
    file_exits('aaa.txt') or die('文件不存在');
    echo 'ok';

二、自定义错误和错误触发器

1、错误处理器(自定义错误,一般用于语法错误处理)

    创建自定义错误函数(处理器),该函数必须有能力处理至少两个参数(error_level和errormessage),但是可以接受最多五个参数(error_file、error_line、error_context)
    语法:
    function error_function($error_level,$error_message,$error_file,$error_line,$error_context)
    //创建好后还需要改写set_error_handler();函数
    set_error_handler('error_function',E_WARNING);
    //这里error_function对应上面创建的自定义处理器名,第二个参数为使用自定义错误处理器的错误级别;

2、错误触发器(一般用于处理逻辑上的错误)

例题:

    要接收一个年龄,如果数字大于120,就认为是一个错误

    传统方法:

    if($age>120){
    echo '年龄错误';exit();
    }

    使用触发器:

    if$age>120){
    //trigger_error('错误信息'[,'错误等级']);这里错误等级为可选项,用于定义该错误的级别
    //用户定义的级别包含以下三种:E_USER_WARNING 、E_USER_ERROR 、E_USER_NOTICE
    trigger_error('年龄错误');//这里是调用的系统默认的错误处理方式,我们也可以用自定义处理器
    }
    //自定义处理器,与上面相同
    function myerror($error_level,$error_message){
    echo 'error text';
    }
    //同时需要改变系统默认的处理函数
    set_error_handler('myerror',E_USER_WARNING);//同上面,第一个参数为自定义函数的名称,第二个为错误级别【这里的错误级别通常为以下三种:E_USER_WARNING 、E_USER_ERROR 、E_USER_NOTICE】
    //现在再使用trigger_error就可以使用自定义的错误处理函数了

图片展示
 
相关评论
站长推荐