PHP中如何实现高效错误和异常处理机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3730个文字,预计阅读时间需要15分钟。
声明:本文采用CC BY-NC-ND 4.0许可。原始的PHP代码可能存在错误,没有异常处理。观察一些老旧文档,你会发现不少错误输出是通过直接echo 标签。而现代框架已经很好地封装了一切,直接抛出异常。
声明: 本文采用 CC BY-NC-ND 4.0 授权。
原先的 PHP 只有错误没有异常。看一些老的文档你能看到不少错误输出是直接 echo html 标签的。而现代一点的框架早已经包裹好了一切,直接抛出异常就可以有比较漂亮的错误显示页面,比如 rails 的 better errors。当然,PHP 的现代框架也已经做的不错了,比如 laravel。然而我司目前还是用 codeigniter 2,它的错误和异常处理还比较简陋。借着升级到 PHP7 的契机梳理了一下 PHP 的错误和异常处理的机制。
推荐教程:《PHP教程》
PHP 的错误和异常PHP5 已经实现了异常的处理,这和其他语言差别不大,无非就是 try, catch, uncaught,按下不表,先说错误。
PHP 的错误除了异常 PHP5 常见的就是抛出错误。你可以在官方文档找到所有的错误的定义,这些错误可以大致分为 WARNING, ERROR(fatal error), NOTICE 等1。PHP的错误机制总结一文中给出了每种错误出现的场景。
E_DEPRECATED(8192) 运行时通知,启用后将会对在未来版本中可能无法正常工作的代码给出警告。
本文共计3730个文字,预计阅读时间需要15分钟。
声明:本文采用CC BY-NC-ND 4.0许可。原始的PHP代码可能存在错误,没有异常处理。观察一些老旧文档,你会发现不少错误输出是通过直接echo 标签。而现代框架已经很好地封装了一切,直接抛出异常。
声明: 本文采用 CC BY-NC-ND 4.0 授权。
原先的 PHP 只有错误没有异常。看一些老的文档你能看到不少错误输出是直接 echo html 标签的。而现代一点的框架早已经包裹好了一切,直接抛出异常就可以有比较漂亮的错误显示页面,比如 rails 的 better errors。当然,PHP 的现代框架也已经做的不错了,比如 laravel。然而我司目前还是用 codeigniter 2,它的错误和异常处理还比较简陋。借着升级到 PHP7 的契机梳理了一下 PHP 的错误和异常处理的机制。
推荐教程:《PHP教程》
PHP 的错误和异常PHP5 已经实现了异常的处理,这和其他语言差别不大,无非就是 try, catch, uncaught,按下不表,先说错误。
PHP 的错误除了异常 PHP5 常见的就是抛出错误。你可以在官方文档找到所有的错误的定义,这些错误可以大致分为 WARNING, ERROR(fatal error), NOTICE 等1。PHP的错误机制总结一文中给出了每种错误出现的场景。
E_DEPRECATED(8192) 运行时通知,启用后将会对在未来版本中可能无法正常工作的代码给出警告。

