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


Posted in PHP onFebruary 04, 2017

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

 

错误报告:
        
        错误E_ERROR
        警告E_WARNING
        注意E_NOTICE

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

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

将错误报告写入日志中

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

二.   关闭错误输出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中的错误处理和异常处理就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
帖几个PHP的无限分类实现想法~
Jan 02 PHP
用mysql_fetch_array()获取当前行数据的方法详解
Jun 05 PHP
解析php函数method_exists()与is_callable()的区别
Jun 21 PHP
php增删改查示例自己写的demo
Sep 04 PHP
提高PHP编程效率的方法
Nov 07 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
PHP工厂模式的日常使用
Mar 20 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 PHP
WordPress伪静态规则设置代码实例
Dec 10 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 #PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 #PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 #PHP
Yii2下session跨域名共存的解决方案
Feb 04 #PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 #PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 #PHP
php基于dom实现的图书xml格式数据示例
Feb 03 #PHP
You might like
关于PHP中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
Python中property函数用法实例分析
2018/06/04 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
Python脚本调试工具安装过程
2021/01/11 Python
生物技术毕业生自荐信
2013/10/23 职场文书
英文导游欢迎词
2014/01/11 职场文书
实习生求职自荐信
2014/02/07 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
学校节能减排倡议书
2014/05/16 职场文书
护理专业自荐书
2014/06/04 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
优秀家长自荐材料
2014/08/26 职场文书
开会通知
2015/04/20 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
文书工作总结(范文)
2019/07/11 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书