有考网有考网合作机构>九龙坡区培训学校>重庆九龙坡石桥铺达内IT教育培训
重庆九龙坡石桥铺达内IT教育培训
全国统一学习专线 8:30-21:00
位置:有考网 > 计算机类 > php开发 > > PHP中的错误和异常如何处理?  正文

PHP中的错误和异常如何处理?

发布时间:2021-11-22 16:40:59来源:转载

PHP语言遇到异常的情况(比如数据库连接不上或者函数参数传递错误),则会报出一些错误,错误可以分为多种类型,除了E_ERROR和E_CORE_ERROR错误,其它错误不会终止程序运行。

PHP让人觉得简单的原因就在于程序不会频繁的报错,给人一种编写流畅和方便的错觉。

也正因为这个原因PHP程序的严谨性和准确性差了不少,比如mysql_fetch_array查询遇到网络错误返回FALSE的时候(程序没有终止运行),假如调用程序认为查询没有匹配的数据,则这个程序本质是错误的。

通过 php.ini的指令 error_reporting或者动态调用 error_reporting()函数我们可以选择报告什么类型的错误,通过 display_errors指令则可以控制错误是否在线输出.而 error_log指令可以控制将错误输出到日志中。

如何正确使用错误

不管是系统函数或者是自定义函数,假如内部遇到错误,如何告之调用者呢?一般是通过函数返回 TRUE或者 FALSE来表明.这种处理方式有几个弊端:

调用者只知道发生了错误,但是返回的错误信息太少,且缺乏错误类型的说明

程序处理逻辑和错误处理混杂在一块,产生的代码会非常的不清晰

一个小技巧: error_get_last()函数会返回较近错误产生的具体原因

较佳实践

set_error_handler()函数来托管所有的错误

trigger_error()函数可以触发自定义错误,可以用来在函数中代替 return 语句

将所有的错误输出到日志中,同时定义错误类型

对用户显示错误,比如将错误以一种更友好的方式返回给用户

生产环境下 display_errors指令要关闭,开发环境则该指令打开

相关内容: PHP学习 PHP异常 PHP错误

同类文章
相关热词