关于PHP中异常和错误的笔记
来源:互联网 发布:淘宝货到付款订单快递 编辑:程序博客网 时间:2024/06/06 07:52
什么是PHP中的异常和错误
PHP中的异常,是指程序运行不符合预期的情况,一般属于逻辑或业务流程方面的问题,语法没错;PHP中的错误,是指因语法错误或者环境问题导致的、使编译器无法通过检查甚至无法运行的情况。
比如经典的除零问题,对于除零这种“异常”情况,PHP认为这是一个错误,会直接触发错误,而不会抛出异常使程序进入异常流程,这个和Java是不一样的。在PHP中,只有你主动throw后才能捕获异常(一般是这样,也有些异常PHP可以自动捕获)。从这个方面讲,在PHP中若想使用异常处理不可预料的问题是办不到的。
其实PHP和Java之间之所以有这个差距,根本原因就在于,在Java中,异常是唯一的错误报告方式。
处理异常的原则
如果业务很重要,那么异常越早处理越好,应该把它消灭在局部,避免异常的扩散。
PHP中常见的几个错误级别(从低至高):
deprecated(最低级别错误,表示“不建议”,这种错误一般是由于使用了不推荐的、过时的函数或语法造成的。)
notice(被告知语法中存在不当的地方,比如使用了未定义的变量,这种错误不影响PHP的正常流程)
warning(当语法中出现很不恰当的地方才会报此错误,比如函数参数不匹配,这种错误会导致得不到预期结果,需要修改代码)
fetal error(致命错误,会直接导致PHP流程终结,后面的代码不再执行。这种问题非改不可)
prase error(语法错误,知道导致代码不能通过语法检查,可以修改php.ini文件:
log_errors = On
error_log = usr/log/php.log
这样一旦php发生错误,就会被记入log文件,方便之后的查阅)
PHP中的错误处理机制
可以使用set_error_handler()函数设置用户自定义的错误处理函数,使得程序在发生某个级别的错误时执行用户自定义的处理函数。然而,在php中许多异常是被看作错误的,这样就可以通过set_error_handler函数把这些“异常”像错误一样设置,然后这些“异常”就可以主动抛出了。
tips
在代码质量不高或者环境不可控时使用error_reporting(0)就可以屏蔽错误,防止错误消息泄露敏感信息。
0 0
- 关于PHP中异常和错误的笔记
- PHP的错误和异常笔记
- java转php 关于异常和错误的探索
- php中错误和异常处理的机制一
- php中错误和异常处理的机制二(错误处理器和错误触发器)
- PHP中错误和异常处理机制
- 【异常和错误】PHP的异常和错误处理【原创】
- php的错误处理和异常处理
- PHP 的错误和异常处理
- php的错误和异常处理
- PHP的错误和异常处理
- PHP的错误和异常处理总结
- php中错误和异常处理的机制三(错误日志)
- php基础系列----8php中错误和异常的处理
- 关于hibernate的一些错误和异常
- 韩顺平php视频笔记79 80 错误和异常处理的机制 错误处理器 错误触发器
- PHP学习笔记(五)错误和异常处理
- 总结4 如何在自定义的框架中使用PHP异常和错误机制
- 《c和指针》(八)
- 梯度下降算法的C++实现
- Spring-使用注解方式装配对象
- 面向对象_继承的注意项和什么时候使用继承
- 迷茫就是才华配不上梦想
- 关于PHP中异常和错误的笔记
- 【codevs】1506 传话 Tarjan
- Spring学习笔记(二)后处理器与AOP
- javascript 表达式和运算符 对象和数组的初始化表达式 十八
- TMS320C6678外部存储器DDR3硬件设计以及软件调试
- tcp4次挥手
- 共享资源的简单示例
- 百度地图API使用
- 菜鸟商城Android完整源码分享