一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 6956|回复: 1
打印 上一主题 下一主题

简述PHP的捕捉异常中断实例

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-4-14 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


摘要:当 PHP 程序出现异常情况,如出现致命错误,超时,或者不可知的逻辑错误导致程序中断,这个时候可以用 register_shutdown_function 进行异常处理。

当 PHP 程序出现异常情况,如出现致命错误,超时,或者不可知的逻辑错误导致程序中断,这个时候可以用 register_shutdown_function 进行异常处理。

比如判断一个脚本是否执行完成,可以设置一个属性为 false,在执行完成时设为 true,最后通过 register_shutdown_function 函数指定的方法进行判断,并做进一步异常处理,如代码所示:














PHP




1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23


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代码执行完成时

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

15

帖子

2万

积分

钻石会员

Rank: 8Rank: 8

积分
29209
沙发
发表于 2022-9-23 12:38 | 只看该作者
音乐下载网站哪个好
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表