PHP抛出异常在类行为上有什么不同?

时间:2012-11-02 10:48:08

标签: php class exception

我一直在使用异常处理作为将我的错误记录集中到我的应用程序的数据库表中的方法。我已经使用set_exception_handler()将异常路由到记录此信息的函数,并在出现错误后继续,以免向用户显示错误。这在调试中特别有用,因为我可以通过发出:

将消息发送到db表
throw new Exception("My message I want to check in the db table");

并检查db表以进行调试而不是本地日志文件。实质上 - 我的目标是替换error_log()函数功能,从而减少在多服务器负载平衡情况下搜索本地Web服务器日志文件的需要。

在我开始编写类文件并执行相同操作之前,它一直很适合我 - 也就是说 - 使用类似的throw语句来传回信息。当我尝试在类中的函数中执行此操作时,代码执行不会继续通过throw语句返回到实例化类的调用代码。在将异常记录到db表之后,代码执行从字面上停止。我希望代码在记录后继续执行。

这是我在php中记录的一些我不知道的行为吗?如何更改此设置或设置我的类文件,使其行为与其他应用程序代码一样?

提前致谢!

0 个答案:

没有答案