PHP捕捉异常中断的方法
前言
任何程序员在开发时都可能遇到过一些失误,或其他原因造成错误的发生。当然,用户如果不愿意或不遵循应用程序的约束,也会在使用时引起一些错误发生。本文主要介绍在php中用 register_shutdown_function进行异常处理的方法,有需要的可以一起学习学习。
实例详解
比如判断一个脚本是否执行完成,可以设置一个属性为 false,在执行完成时设为 true,最后通过 register_shutdown_function 函数指定的方法进行判断,并做进一步异常处理,如代码所示:
class IndexController extends Controller
{
/**
* 脚本执行是否完成
* @var bool
*/
protected $complete = false;
public function __construct()
{
register_shutdown_function([$this, 'shutdown']);
}
/**
* 异常处理
*/
public function shutdown()
{
if ($this->complete === false) {
dump('www.tanteng.me'); //此处应该输出日志并进行异常处理操作
}
}
}
这样一来,可以快速定位脚本是否中断,通过 register_shutdown_function 处理异常并提高程序的健壮性,并且可以记录程序中断的状态,方便通过日志快速定位问题。
register_shutdown_function 执行机制
PHP 把要调用的函数调入内存。当页面所有 PHP 语句都执行完成时,再调用此函数。注意,在这个时候从内存中调用,不是从 PHP 页面中调用,所以如果有路径信息,应使用绝对路径,因为 PHP 已经当原来的页面不存在了。就没有什么相对路径可言。
可以这样理解调用条件:
1、当页面被用户强制停止时
2、当程序代码运行超时时
3、当PHP代码执行完成时
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用PHP能有所帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
- PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
- php中try catch捕获异常实例详解
- PHP的异常处理类Exception的使用及说明
- php Try Catch异常测试
- PHP如何抛出异常处理错误
- PHP中的错误处理、异常处理机制分析
- php中异常处理方法小结
- php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()''d code error
- php更新mysql后获取影响的行数发生异常解决方法
- PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
相关文章
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
根据条件来控制是否显示form里的textfield表单2010-12-12
使用weixin-java-miniapp配置进行单个小程序的配置详解
这篇文章主要介绍了使用weixin-java-miniapp配置进行单个小程序的配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-03-03
用JavaScript实现PHP的urlencode与urldecode函数
这篇文章主要介绍了用JavaScript实现PHP的urlencode与urldecode函数,很多情况下我们用了出来php urlencode出来的网址,需要的朋友可以参考下2015-08-08
js获取下拉列表框<option>中的value和text的值示例代码
本篇文章主要是对js获取下拉列表框<option>中的value和text的值示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助2014-01-01


最新评论