浅谈PHP中的错误处理和异常处理

2018-09-21 11:40

阅读:352

  错误处理:

1. 语法错误
2. 运行时的错误
3. 逻辑错误

  错误报告:

错误E_ERROR
警告E_WARNING
注意E_NOTICE

  
开发阶段:开发时输出所有的错误报告,有利于我们进行调试

  运行阶段:不要让程序输出任何一种错误报告

  将错误报告写入日志中

  一. 指定错误报告error_reporting=E_ALL(在)

  二. 关闭错误输出display_errors=off(在php.ini中)

  三. 开启错误日志的功能log_errors=on(在php.ini中)

  1. 默认如果不指定错误日志位置,则默认写入web服务器的日志中

  2. 为error_log选项指定一个文件名,这个文件名就是错误日志

  3. 写入到操作系统日志中error_log=syslog

   <?php //注意和警告都不会终止程序的运行,但是错误会终止程序的运行 /* 错误E_ERROR 警告E_WARNING 注意E_NOTICE */ //所有的错误都输出除了注意 error_reporting(E_ALL & ~E_NOTICE); //设置配置文件的值(临时) //ini_set(upload_max_filesize, 2000000000); //得到配置文件的值 //ini_get(upload_max_filesize); //关闭错误报告的显示,一般在运行阶段使用 ini_set(display_errors, off); //将错误报告写入日志中 ini_set(log_errors, on); //日志的目录 ini_set(error_log, D:/error.log); gettype($var); //注意 gettype(); //警告 //getype(); //错误,程序终止 echo ############<br>; ?>

  异常处理:意外,是在程序运行过程中发生的意料之外的事,使用异常改变脚本正常流程

  PHP5中的一个新的重要特性

  
try{

   }catch(异常对象){

   }

  1. 如果try中代码没有问题,则将try中代码执行完成后就到catch后执行

  2. 如果try中代码有异常发生,则抛出一个异常对象(使用throw),抛出给了catch中的参数,则在try中出现异常代码后的内容就不会执行,直接跳转到catch中去执行,catch中执行完成,再继续向下执行

   <?php try{ echo 11111111<br>; $file=@fopen(./hello.txt,r); if(!$file){ throw new Exception(文件打开失败); } echo 2222222222<br>; }catch(Exception $e){ echo 3333333<br>; echo $e->getMessage().<br>; touch(hello.txt); $file=@fopen(./hello.txt,r); } echo 4444444<br>; ?>

  以上这篇浅谈PHP中的错误处理和异常处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


评论


亲,登录后才可以留言!