Maison > Article > développement back-end > web - php实际开发怎么处理错误?
比如查找不存在的值,访问模块方法错误,权限不足……各种意想不到的错误。
一访问直接弹出了错误信息,我感觉每次都写个判断条件好麻烦,有没有什么好办法?求教!
比如查找不存在的值,访问模块方法错误,权限不足……各种意想不到的错误。
一访问直接弹出了错误信息,我感觉每次都写个判断条件好麻烦,有没有什么好办法?求教!
如果是程序错误,建议使用 set_error_handler
, set_exception_handler
设置一个函数来统一处理错误。
如果是自己设置的权限等错误,可以使用 throw exception
的形式先将错误抛出去,在从外侧接收并作统一处理,就不必在每个错误点写判断和处理了。
楼上几位说的方法都是很正确的。不过对于实际开发最终只有404(无效的url)403(权限不足)是可以接受的,像你说的 访问模块方法错误 就太逗了,这是bug好吗?严格来说你列举的情况都属于bug,上线前必须修复的,有什么需要判断和处理的。
从最终产品的角度看,我们需要识别的是用户录入数据及操作的合法性,当出现问题的时候给出一个友好提示。至于开发期间的bug,修复了不就没有了。
这个得具体例子具体分析,比如你说查找一个数组中不存在的值,常见的可以使用isset判断,但是也可以利用ArrayAccess这个接口去处理,具体用法你只要看一下这个接口就明白了。判断是否错误的调用了一个类中的方法可以用method_exists判断,也可以使用魔术方法去统一处理。还有很多很多错误和方法。具体得看是什么错误,还有对这种错误的容忍程度,去选择不同的方法。有些地方必须用try catch的就必须用,有些错误可以容忍,甚至可以让他直接报一个notice