相关疑难解决方法(0)

do-while-false循环是常见的吗?

前一阵子我改变了我处理c风格错误的方式.

我发现很多代码看起来像这样:

int errorCode = 0;

errorCode = doSomething();
if (errorCode == 0)
{
   errorCode = doSomethingElse();
}

...

if (errorCode == 0)
{
   errorCode = doSomethingElseNew();
}
Run Code Online (Sandbox Code Playgroud)

但最近我一直这样写:

int errorCode = 0;

do
{       
   if (doSomething() != 0) break;
   if (doSomethingElse() != 0) break;
   ...
   if (doSomethingElseNew() != 0) break;
 } while(false);
Run Code Online (Sandbox Code Playgroud)

我已经看到很多代码在出现错误后没有执行任何内容,但它始终以第一种方式编写.有没有其他人使用这种风格,如果你不这样做,为什么?

编辑:只是为了澄清,通常这个构造使用errno否则我会int在打破之前将值赋值给.此外,通常还有更多代码,而不仅仅是if (error == 0 )子句中的单个函数调用.但是,要考虑很多好点.

c c++ coding-style

25
推荐指数
5
解决办法
7546
查看次数

标签 统计

c ×1

c++ ×1

coding-style ×1