php7 Error处理
2021/11/27 9:10:18
本文主要是介绍php7 Error处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1: error 和 exception 区别
Exception 需要通过 throw new Exception
手动抛出
Error 可以在 PHP 脚本执行发生错误时自动触发,也可以通过 trigger_errors()
手动触发
都实现了 Throwable 接口,可以通过 catch (Throwable $t) {...}
同时捕获 Error 和 Exception
用 catch (Error $e) { ... }
,或者通过注册错误处理函数( set_error_handler())来捕获 Error
用 catch (Exception $e) { ... }
或者通过注册异常处理函数( set_exception_handler())来捕获 Exception
用 catch (Throwable $e) { ... }
可以同时捕获 Exception 和 Error
2.php常见Error级别
1: E_ERROR 运行时致命的错误。不能修复的错误。停止执行脚本。【Fatal Error,调用 不存在的方法等】
2: E_WARNING 运行时非致命的错误。没有停止执行脚本。
3: E_PARSE 编译时的解析错误。解析错误应该只由解析器生成。
4: E_NOTICE 运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。
5: E_ALL 所有的错误和警告的级别,除了 E_STRICT。
6: trigger_error 可以触发E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE 等非常见错误
3: error 和 exception 错误处理
1: error_reportin(0) 屏蔽所有错误
2:set_error_handler 是有自己的捕获级别的,默认 E_ALL | E_STRICT,且不受 error_reporting() 设定的级别影响,即使你 error_reporting(0),set_error_handler 依然能捕捉到相应的错误set_error_handler 能捕获的错误如下 E_USER_ERROR & E_USER_WARNING & E_USER_NOTICE & E_USER_DEPRECATED 和 部分运行时系统错误 E_WARING & E_NOTICE & E_DEPRECATED 的捕获器,即 E_PARSE (Parse Error) ,E_ERROR(Fatal error)是无法用其捕获到的
3: set_exception_handler 能处理所有exception异常
4: try catch 能处理上诉常见所有错误和其他异常
5: register_shutdown_function 可以使用get_last_error记录所有错误
4: Q
1: 怎么捕获E_PARSE
2: 访问出现500 Internal Server Error怎么排查
这篇关于php7 Error处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享