PHP错误处理与异常处理全解析
1. 恢复PHP默认错误处理机制
当调用 set_error_handler()
后,若想恢复PHP的默认错误处理机制,有两种方法:
- 使用 restore_error_handler()
函数 :该函数会恢复 set_error_handler()
调用前使用的最后一个错误处理程序,多数情况下就是PHP的默认错误处理程序。
- 让自定义错误处理程序返回 false
:这会强制将错误转回PHP的默认处理程序以正常方式处理。例如在需要先通过自定义函数对错误进行预处理或日志记录时,此方法很实用。
2. 生成干净的错误页面
PHP的默认错误处理程序仅显示错误信息,这可能会打乱页面布局,给用户带来困惑。通过自定义错误处理函数,可以生成干净的错误页面,同时将脚本错误记录到数据库以便后续查看。具体步骤如下:
1. 创建SQLite数据库和表 :
shell> sqlite app.db
sqlite> CREATE TABLE errors (
id INTEGER PRIMARY KEY,
date TEXT NOT NULL,
error TEXT NOT NULL,
script TEXT NOT NULL,
line TEXT NOT NULL