PHP捕捉异常中断的方法
前言
任何程序员在开发时都可能遇到过一些失误,或其他原因造成错误的发生。当然,用户如果不愿意或不遵循应用程序的约束,也会在使用时引起一些错误发生。本文主要介绍在php中用register_shutdown_function进行异常处理的方法,有需要的可以一起学习学习。
实例详解
比如判断一个脚本是否执行完成,可以设置一个属性为false,在执行完成时设为true,最后通过register_shutdown_function函数指定的方法进行判断,并做进一步异常处理,如代码所示:
classIndexControllerextendsController { /** *脚本执行是否完成 *@varbool */ protected$complete=false; publicfunction__construct() { register_shutdown_function([$this,'shutdown']); } /** *异常处理 */ publicfunctionshutdown() { if($this->complete===false){ dump('www.tanteng.me');//此处应该输出日志并进行异常处理操作 } } }
这样一来,可以快速定位脚本是否中断,通过register_shutdown_function处理异常并提高程序的健壮性,并且可以记录程序中断的状态,方便通过日志快速定位问题。
register_shutdown_function执行机制
PHP把要调用的函数调入内存。当页面所有PHP语句都执行完成时,再调用此函数。注意,在这个时候从内存中调用,不是从PHP页面中调用,所以如果有路径信息,应使用绝对路径,因为PHP已经当原来的页面不存在了。就没有什么相对路径可言。
可以这样理解调用条件:
1、当页面被用户强制停止时
2、当程序代码运行超时时
3、当PHP代码执行完成时
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用PHP能有所帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。