php错误处理

原创 2017年01月03日 20:25:58

错误的分类

语法错误:程序没法运行,直接提示语法错误

运行时错误:只有程序运行到某行,或在某些特定的情形下运行时才会发生的错误(主要面对)

逻辑错误:程序从头到尾都没有发生(并提示)错误,但程序运行结果错误

 

错误分级

每个级别的错误,对应一个内部的名称—系统常量

系统错误:E_ERROR(严重错误,一发生,系统立即停止)、E_WARNING、E_NOTICE

E_ERROR=1(系统错误)

E_WARNING=2(系统警告)

E_PARSE=4(语法错误)

E_NOTICE=8(系统提示)

(系统内部的整数常量,这些常量是我们对该类错误进行控制的标识符)

用户自定义错误

只有3个:E_USER_ERROR、E_USER_ WARNING、E_USER_ NOTICE

可以在程序中,自己创建错误---是为了针对某些数据的不合理情形,而创建的错误(如年龄超过188等)

其他

E_ALL:代表所有错误

E_STRICT:代表严格性语法错误(当前php版本可执行但不欢迎使用)

 

错误的触发

正常触发:程序执行过程中体现出来

人工触发:程序员通过程序代码而产生的一个错误

    trigger_error(“错误描述信息”,用户错误代号);

显示错误报告

display_errors:控制是否显示

error_reporting:控制显示哪些级别的错误

控制的方式有两种:

Php.ini文件中:对系统中所有运行的php程序都有效

display_errors=On/Off

error_reporting= E_NOTICE (只显示notice这一级别错误提示)

error_reporting= E_NOTICE | E_WARNING(显示notice和warning一级别错误提示)

error_reporting= E_NOTICE & E_WARNING(什么都不显示)

error_reporting= E_ALL(显示所有,但不包含strict错误)

error_reporting= E_ALL | E_STRICT(显示所有错误,开发中最常用)

如果在显示所有错误的基础上,关闭个别错误,与状态设定(关闭)的原理一致,在显示所有错误的基础上将个别错误取反并做按位与运算

在网页代码中,只影响当前的网页代码(优先级别高)

ini_set(“控制项”,值);(几乎可以设定所有php.ini中的设定项  ini_get(“设定项名称”)用户获取某项的值)

示例: ini_set(“display_errors”,1);//1表示显示,0表示不显示

ini_set(“error_reporting”, E_NOTICE);(只显示notice这一级别错误提示)

记录错误日志(2种途径)

 log_errors:控制是否记录错误日志

error_log:控制错误日志记录到哪里,给定一个文件名就可以

一个特殊值:syslog,会记录到操作系统日志中,而不会记录到文件

Php.ini中:

  log_errors=On

error_log=“错误日志文件名”(没有给定路径,系统会在每个文件夹下建立文件并记录进去)

当前文件中使用ini_set(“log_errors”,On);

自定义错误处理器

就是自己控制错误的显示内容和记录内容

分两步完成:

1.设定自定义错误处理函数

set_error_handler(“函数名”);

2.定义该函数(并通常需要设定4个参数)

function error_handler($errNo,$errMsg,$errFile,$errLine){

 // 处理该4个参数

}

 

注意:该函数无需手工调用,出错时会自动调用;一旦用自定义错误,则系统不在出错误处理;如果系统发生严重错误,则不会调用自定函数,由系统处理(显示并终止)

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

php_错误处理机制

  • 2011年07月22日 08:42
  • 176KB
  • 下载

php.ini中的错误处理配置

1、display_error = On该选项设置是否将错误信息作为输出的一部分显示到屏幕,或者对用户隐藏而不显示。       log_errors_max_len = 1024 运行时错误日志的长...

[PHP]文件加载和错误处理

本文主要介绍了PHP的文件加载的方法,文件路径和错误处理,以及错误相关的设置...

(四)PHP面向对象理论4---异常和错误处理

1.php异常处理的场景以及应用 2.php面向对象的总结
  • bwshqh
  • bwshqh
  • 2015年08月02日 15:02
  • 408

PHP 错误处理(很有意思)

PHP 错误处理在 PHP 中,默认的错误处理很简单。一条错误消息会被发送到浏览器,这条消息带有文件名、行号以及描述错误的消息。 PHP 错误处理 在创建脚本和 Web 应用程序时,错误处理是一个重要...

PHP错误处理函数

debug_backtrace() --  追踪当前代码被调用的源头 PHP debug_backtrace() 函数生成一个 backtrace。 该函数返回一个关联数组。下面是可能返回...

php中的错误处理机制

1.如果没有错误处理机制会怎样?   案例1:   结果: Warning: fopen(aa.txt) [function.fopen]: failed to open stream:...
  • wmin510
  • wmin510
  • 2016年05月21日 19:53
  • 80

php异常、错误处理机制

php异常、错误处理机制 在实际开发中,错误及异常捕捉仅仅靠try{}catch()是远远不够的。 所以引用以下几中函数。 我们先来说异常: 首先要明白异常跟错误是不...
  • samxx8
  • samxx8
  • 2015年07月30日 16:36
  • 397

PHP错误处理

程序一定会有错误的时候 天才的程序员说,我的程序绝对OK,没有错误,我从不处理错误。的确,天才程序员的程序从来没有错误,但程序只要运行,就会有错误!不管你信不信,我反正是信的。 错误不只是...

PHP3 使用数组及错误处理

【数组】 【数组的定义】         定义:就是一组数据的集合         元素             键 => 值  1=>'你好', 2=> '我很好'         键:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php错误处理
举报原因:
原因补充:

(最多只允许输入30个字)