1.有时候会看到一种写法,do {} while(false); , 既然这个循环永远都不会执行,那么为什么要加上循环呢?其实只是想利用break特性替代goto.
实际变成会有业务如果尽量避免出错会添加很多的条件嵌套,这样会造成代码可读性差,而且写着写着容易把自己也套进去
if( A文件存在 )
{
执行A文件的相关操作;
if( B文件不存在 || 用户允许覆盖原有B文件)
{
复制A文件为B文件;
if(复制文件成功)
{
打开B文件;
if(打开文件成功)
{
写入文件;
if(写入成功)
{
关闭B文件;
if(关闭成成功)
{
执行其它必须在一切成功后进行的操作。
……
}
}
}
}
}
}
所以一些老鸟就想出使用do {} while(false); 以及 break简化书写
do
{
if(A文件不存在)
break;
执行A文件的相关操作;
if(B文件存在 && 用户不允许覆盖)
break;
复制A文件为B文件;
if(复制不成功)
break;
打开B文件;
if(打开B文件不成功)
break;
写入文件;
if(写入文件不成功)
break;
关闭B文件;
if(关闭不成功)
break;
执行其它必须在一切成功后进行的操作。
……
}
while(false);