PHP中的错误处理

我熟悉一些基础知识,但我想知道更多的是什么时候为什么错误处理(包括抛出异常)应该在PHP中使用,特别是在现场的网站或Web应用程序。是可以被过度使用的东西,如果是,过度使用看起来像什么?是否有不应该使用的情况?此外,在错误处理方面的一些常见的安全问题是什么?
添加到已经说过的一件事是,它是最重要的,你记录在Web应用程序中的任何错误到日志。这样,就像Jeff“编程恐怖”Atwood建议的,你会知道你的用户何时遇到了你的应用程序的麻烦(而不是“问他们什么问题”)。

为此,我建议使用以下类型的基础结构:

>在数据库中创建“崩溃”表,并创建一组用于报告错误的包装类。我建议为崩溃(“阻塞”,“安全”,“PHP错误/警告”(vs异常)等)设置类别。
>在所有的错误处理代码中,确保记录错误。这样做一致取决于你构建API的程度(上面的步骤) – 如果做得正确,记录崩溃应该是微不足道的。

额外的功劳:有时,您的崩溃将是数据库级崩溃:即DB服务器关闭等。如果是这样,您的错误日志基础结构(上面)将失败(您不能记录崩溃到DB,因为日志尝试以写入DB)。在这种情况下,我会在你的Crash包装类中写故障转移逻辑

>向管理员发送电子邮件,和/或
>将崩溃的详细信息记录到纯文本文件

所有这一切听起来像一个过度,但相信我,这使得你的应用程序是否被接受为“稳定”或“片状”有所不同。这种差异来自于所有应用程序始终都是崩溃/崩溃的事实,但那些知道他们的应用程序的所有问题的开发者有机会实际修复它。

http://stackoverflow.com/questions/134331/error-handling-in-php

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:PHP中的错误处理