[PHP] Trigger_error 趣谈

最近在debug时,发现一个很有趣的关于Trigger_error用法的问题。

该bug的表象是程序在生成某条重要业务数据之前突然断了,所以我就一路追代码,一直追到非常底层的位置,才抓住了代码断掉的位置。在这里并没有看到常见的程序中断的指令,如die(), exit()等。而是看到了如下代码:

trigger_error('age you input must>=0',E_USER_ERROR); 

由于对trigger_error语法不熟悉,遂和同事讨论为何代码会断在这里。同事纷纷尝试如下写法:

trigger_error('age you input must>=0'); 

trigger_error('age you input must>=0',E_USER_WARNING); 

trigger_error('age you input must>=0',E_USER_NOTICE);

最终发现,以上三种写法都不会中断程序的运行,只是会有一行Warning提示。而只有E_USER_ERROR会将程序立刻中断。在翻阅了众多博客和文章后找到W3C中的一段解释(链接:http://www.w3school.com.cn/php/php_ref_error.asp):

E_USER_ERROR类似于E_ERROR,区别处在于E_USER_ERROR是在代码中由trigger_error方法产生的。但其原理都相同,即:“运行时致命的错误。不能修复的错误。终止执行脚本。”

这也使得我们反思了日常工作中对trigger_error的使用,尤其需要注意第二个参数的使用。因为一旦使用E_USER_ERROR,在抛出错误时,程序也会随之中断,从而产生业务流程中断等问题。

最终,因为有不同的业务场景会走到该段代码,有一些业务场景确实是需要在这里进行立刻中断的,所以我们只在我们发现问题的业务场景上进行了前置错误处理,使得类似的error在被trigger之前即被处理掉。



### 回答1: 网络协议是计算机网络中进行数据传输和通信的规则和约定。PDF(Portable Document Format)是一种由Adobe开发的文件格式,用于以可靠的方式呈现和交换电子文档。 在谈论网络协议的PDF下载时,我们可以探讨以下趣闻: 首先,网络协议的PDF下载可以帮助我们更好地理解和学习网络协议。网络协议本身是一种抽象的概念,有时候很难通过文字或图片来完全理解。但是,通过以PDF格式提供的文档,我们可以更直观地看到网络协议的结构、流程和细节,使得学习变得更加容易和有趣。 其次,网络协议的PDF下载还能帮助我们及时了解和跟进最新的协议标准。网络协议是一门不断发展的学科,新的协议版本和标准经常被提出和更新。通过及时下载最新的协议文档,我们可以了解最新的协议规范和改进,从而更好地应用它们于实际网络环境中。 此外,网络协议的PDF下载也给了我们方便地和他人共享学习资源的机会。通过将网络协议的文档以PDF格式发布在互联网上,任何人都能够自由下载和阅读,促进了知识的传播和共享。在学术和研究领域,这种方式也为学者们提供了方便的途径来分享最新的网络协议研究成果。 总之,网络协议的PDF下载不仅能够促进我们更好地理解和学习网络协议,还能帮助我们及时了解最新的协议标准,并且方便地与他人共享学习资源。无论是对于专业人员还是对于普通用户,网络协议的PDF下载都具有重要的意义和趣味性。 ### 回答2: 网络协议是计算机网络中的基础,它定义了数据在网络中传输的规则和方式。网络协议可以确保数据的可靠传输,有效地管理网络资源,并实现各种网络应用功能。 趣谈网络协议是一本介绍网络协议的有趣读物,可以以轻松、幽默的方式解释复杂的网络协议概念和原理。这本书通常以PDF格式提供下载,方便读者在任何设备上阅读。 下载这本书的PDF版本,可以享受以下好处: 首先,PDF格式具有跨平台和跨设备的特点。不论您使用的是电脑、平板还是手机,只要安装了合适的PDF阅读器软件,就可以轻松打开并阅读这本书。 其次,下载PDF可以实现离线阅读。无论您身处何地,只要下载好了PDF文件,即便没有网络连接,也可以随时随地阅读网络协议的趣谈故事。 此外,PDF格式使得阅读更加方便。您可以在PDF阅读器中进行文字搜索、加注释、划重点,甚至可以调整字号的大小,以适应不同的阅读环境。 最后,通过下载PDF,您还可以将这本书保存到自己的电脑或移动设备上,以备日后参考。您可以在需要的时候,随时翻阅这本书,方便复习和查找相关内容。 总之,趣谈网络协议PDF的下载为我们提供了方便、快捷、随时随地的阅读体验。无论是想了解网络协议,还是希望在计算机网络领域深入学习,这本书都会是一本有趣而又实用的读物。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值