PHP

主流前端框架介绍

关于die和exit的关系与区别







die和exit关系和区别



   

我们都知道,在调整程序报错的时候除了打印函数还会经常用到die和exit这两个语言结构,

注意,die和exit都是语言结构 ,并非函数,他们之间有怎样的关系呢?

根据官方文档的解释:

说明:die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,

die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。

也就是说这两个语言结构,根本上区别并不大,只是名字不同,效果都是一样的,没有所谓的卸不卸载内存的问题。


但是他们还是有细微的区别的,

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

echo "hello,world";

exit(0);

echo "我还有救!";


//我还有救!不会被输出,因为程序运行到exit(0)时,脚本已经被提前终止,“马上断气”。


当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。


$fp=fopen("./readme.txt","r") or die("不能打开该文件");

这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印传递给它的字符串,“死前还能说一两句话”。





相关信息
captcha