网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

PHP中自定义错误怎么处理函数与错误屏蔽

这篇文章主要讲解了“PHP中自定义错误怎么处理函数与错误屏蔽”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中自定义错误怎么处理函数与错误屏蔽”吧!

创新互联公司是一家专业提供阳谷企业网站建设,专注与成都做网站、成都网站设计、H5页面制作、小程序制作等业务。10年已为阳谷众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

PHP中自定义错误怎么处理函数与错误屏蔽

我们在日常开发中,遇到错误是难免的,有些时候我们可以指定一个函数作为错误来处理函数,在PHP中就存在一个自定义错误处理函数。

set_error_handler()函数自定义错误处理函数

PHP中提供了set_error_handler()函数就是用来指定一个函数作为错误处理函数,它的语法格式如下:

set_error_handler(自定义函数名 [, int $error_types = E_ALL | E_STRICT ])

其中自定义函数名这个自定义函数的语法格式如下:

error_handler(int 错误的级别 , string 错误的信息 [, string 发生错误的文件名 [, int 发生错误的行号 ]])

之前如果有过定义的错误处理程序,返回的就是改程序的程序名称;如果是内置的错误处理程序,返回的结果是NULL。若是指定了一个无效的回调函数,同样会返回NULL。

接下来我们通过示例来看一下,自定义一个错误处理函数,并使用它来处理程序中的错误,示例如下:

";
        echo "error msg:".$errstr."
";         echo "error file:".$errfile."
";         echo "error line:".$errline."
";         die('something error');     }     set_error_handler("error_handler");     strpos(); ?>

输出结果:

PHP中自定义错误怎么处理函数与错误屏蔽

我们在使用此函数时需要注意的是,只用这种方式来进行错误处理,若是函数没有错误的话,或者说程序没有在错误的函数中运行,程序会继续往下执行发生错误的函数语句,因此我们需要使用die()函数来终止函数的运行。

在我们的日常开发中,程序中的异常无法自动抛出来,这时候我们也可以使用set_error_handler() 自定义,将异常当作错误来处理,这样我们就可以使用自定义错误处理来自动捕捉异常。

示例如下:

";
        echo "error msg:".$errstr."
";         echo "error file:".$errfile."
";         echo "error line:".$errline."
";         die('something error');     }     set_error_handler("error_handler");     /* 触发异常 */     try {         $a = 5/0;//程序会自动捕捉这个异常,并且由自定义函数来处理         echo $a;     } catch(Exception $e) {         echo $e->getMessage();     } ?>

输出结果:

PHP中自定义错误怎么处理函数与错误屏蔽

错误屏蔽

在PHP开发过程中,我们不仅可以通过set_error_handler()自定义错误处理函数来处理错误,我们还能够把错误屏蔽掉,在有些情况下,错误屏蔽也是必不可少的。那接下来给大家列举一些用于错误屏蔽的方法。

  • @---错误控制运算符

在PHP中,将错误控制运算符@,放在一个表达式的前面,那这个表达式中可能存在的错误都会被屏蔽掉。

其中关于@的使用,我们需要注意的是:@运算符只有放在表达式的前面才会生效,例如变量、函数、常量等等的前面可以使用@运算符,绝对不能放在函数的或者类的定义之前,也不能够放在条件结构语句的前面。

示例如下:

输出结果:

PHP中自定义错误怎么处理函数与错误屏蔽

在上述示例中,看得出通过@错误控制运算符,在表达式前能够屏蔽表达式。

  • 使用 error_reporting() 函数屏蔽错误

PHP 中有很多的错误级别,使用 error_reporting() 函数可以设置 PHP 会报告何种错误,函数的语法格式如下:

error_reporting(设置错误级别)

关于错误级别在上一篇文章《带你一起了解PHP的错误类型和错误级别》中有更详细的介绍,接下来我们通过示例来看一下函数的使用:

输出结果:

PHP中自定义错误怎么处理函数与错误屏蔽

  • 通过 display_errors 参数屏蔽错误

这种方法时最彻底的一种方法,前面两种方法只作用于单行或者单个文件,但是通过display_errors 参数屏蔽错误是作用在所有的PHP文件,那我们一起来看一下应该怎么操作吧。

首先我们需要打开php.ini配置文件,然后找到display_errors,将其的值设置为Off就可以关闭所有的PHP错误报告了。

(在之前的文章《PHP如何上传文件?看完就明白了!》中介绍了怎样去php,ini配置文件的相关知识)

示例如下:

PHP中自定义错误怎么处理函数与错误屏蔽

由此便能够屏蔽错误了。

感谢各位的阅读,以上就是“PHP中自定义错误怎么处理函数与错误屏蔽”的内容了,经过本文的学习后,相信大家对PHP中自定义错误怎么处理函数与错误屏蔽这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页题目:PHP中自定义错误怎么处理函数与错误屏蔽
文章链接:http://bjjierui.cn/article/iejdec.html

其他资讯