2012-03-28 58 views
1

随着PHP文件中显示的是它可以创建自己的exception handler。我认为这是处理用户生成的错误和异常情况的合理方法,这些错误和异常贯穿了我正在开发的项目。通过研究,我已经在实施一个特定的课程方面取得了相当大的进展,仅针对一个课程,包括使用ErrorException(从第一个答案开始),并确保为error levels返回false,这是我无法处理的。

我已经跑不过与使它更加通用的一堵墙。我不想为我写的每个类编写一个单独的处理程序(特别是因为绝大多数代码将与每个类相同)。然而,对于同一个处理程序中的整个项目而言,每一个错误都会让人觉得非常糟糕。

我得到什么感觉就像一个可接受的解决方案最接近的是写ErrorException的一个子类,每类我要处理的每个那些对错误和存储邮件。但即使如此,我可能会出错(我不认为这将是存储默认错误消息的适当位置)。

有没有普遍接受的方式做到这一点,我一直无法找到?或者实际上是其中一种方式实际上是通常完成的方式?还是有多种解决方案可以根据项目的规模进行扩展?如何实现通用PHP异常处理程序

编辑:刚刚意识到我可以写一个通用Exception_Handler与重用代码,并且将其扩展为每套错误,我有(实际HERP时刻对我来说),但它仍然看起来我应该处理在同一个地方的所有错误。如果我完全错了,请告诉我。

编辑2:决定去一个配置文件包含错误消息为每个类将引发错误,然后引发错误的类的名称定义了什么配置文件加载,以获得与消息相关的列表错误编号。这也使我能够轻松定义应该被记录的消息,而不是应该发送给用户的消息(基本上是特定消息或通用消息)。

我想我会记住这是回答什么的,但如果我做错了随时让我知道,帮助总是赞赏。

回答

0

决定去与包含每个类,将引发错误的错误消息的配置文件,然后抛出错误的类的名称定义了配置文件加载到获得与错误编号相关的信息列表。这也使我能够轻松定义应该被记录的消息,而不是应该发送给用户的消息(基本上是特定消息或通用消息)。

更具体我可能会使用定义数组的数组,其中每个数包含错误消息的该错误编号的数组的ini文件。然后使用抛出错误号的foreach返回错误消息。