Home  >  Article  >  Backend Development  >  web - php实际开发怎么处理错误?

web - php实际开发怎么处理错误?

WBOY
WBOYOriginal
2016-06-06 20:12:37792browse

比如查找不存在的值,访问模块方法错误,权限不足……各种意想不到的错误。

一访问直接弹出了错误信息,我感觉每次都写个判断条件好麻烦,有没有什么好办法?求教!

回复内容:

比如查找不存在的值,访问模块方法错误,权限不足……各种意想不到的错误。

一访问直接弹出了错误信息,我感觉每次都写个判断条件好麻烦,有没有什么好办法?求教!

如果是程序错误,建议使用 set_error_handlerset_exception_handler 设置一个函数来统一处理错误。

如果是自己设置的权限等错误,可以使用 throw exception 的形式先将错误抛出去,在从外侧接收并作统一处理,就不必在每个错误点写判断和处理了。

楼上几位说的方法都是很正确的。不过对于实际开发最终只有404(无效的url)403(权限不足)是可以接受的,像你说的 访问模块方法错误 就太逗了,这是bug好吗?严格来说你列举的情况都属于bug,上线前必须修复的,有什么需要判断和处理的。

从最终产品的角度看,我们需要识别的是用户录入数据及操作的合法性,当出现问题的时候给出一个友好提示。至于开发期间的bug,修复了不就没有了。

这个得具体例子具体分析,比如你说查找一个数组中不存在的值,常见的可以使用isset判断,但是也可以利用ArrayAccess这个接口去处理,具体用法你只要看一下这个接口就明白了。判断是否错误的调用了一个类中的方法可以用method_exists判断,也可以使用魔术方法去统一处理。还有很多很多错误和方法。具体得看是什么错误,还有对这种错误的容忍程度,去选择不同的方法。有些地方必须用try catch的就必须用,有些错误可以容忍,甚至可以让他直接报一个notice

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn