编程语言的die exit break有什么区别

编程语言的die exit break有什么区别,第1张

die我只在PHP里遇到过,exit在C/C++里有,break是都有的。die是某语句遇到问题时直接让整个程序死掉,函数括号里的是死亡提示信息,我在用的时候一般都是在数据库中用的,mysql_connect('xxx','xx','xxx') or die("error," . mysql_error())这样可以显示出来数据库连接失败的错误信息,方便我对其进行修复,exit一般都是开发人员主动的,当碰到一些东西时,如:用户单击了“退出”按钮时,在按钮的执行过程中写exit(0)就可以关闭了。break一般都是用于循环的,在循环中如果碰到了某些不想碰到的东西或是已经循环够了不想循环了,那可以用break来跳出循环

1、用法习惯不同,当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。

2、名字不同,其实PHP手册已经说过“die — Equivalent to exit().This language construct is equivalent to exit(). ”两者只是别名关系,除此之外完全一样。

3、源码的处理方式不同,无论是别名函数还是别名语言结构,从实际效果角度讲,都是一样的,但是源码的处理方式还是有一定的差异。

扩展资料:

die()和exit()差异实例:

zend_language_parser.c中,定义了一个宏

#define T_EXIT 300

还定义了一个enum,里面也有

enum yytokentype {

T_EXIT = 300,

….

}

这里告诉我们,T_EXIT这个token,它的code是300。

再看zend_language_scanner.l,其中有这么几行代码。

<ST_IN_SCRIPTING>”exit” {

return T_EXIT

}

<ST_IN_SCRIPTING>”die” {

return T_EXIT

}

很明显,php做词法分析时,无论遇到exit还是die,都会返回T_EXIT这个token。从这里酒可以证明,die和exit,再php内部处理是完全一样的。

也可以用下列php代码来确定:

<?php

var_dump(token_get_all(“<?php dieexit?>”))

返回的结果中die和exit对应的token code,都是300。

参考资料:

PHP exit() 函数-w3school

PHP die() 函数-w3school


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11454422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存