【发布时间】:2011-02-15 20:12:39
【问题描述】:
我想知道如何编写自定义异常处理程序。
这样我就可以做类似的事情
throw new dbException($sql, $message);
然后输出
您的查询有误 消息:{$message here}
查询:{$sql here}
行:{行异常被抛出}
文件:{文件异常来自}
但我也想捕捉例如语法错误和解析错误(如果可能的话)
【问题讨论】:
-
您需要为exceptions 和errors 提供不同的处理程序。但是通常无法捕获解析错误。
-
语法/解析错误是无法捕获的,因为它们发生在 php 被标记化(由词法分析器)而不是在运行时。但是,您可以捕获致命错误 (E_USER_ERROR),但这是在脚本停止之前记录任何信息的最后机会。