А назад я переключил способ обработки ошибок стиля.
Я нашел, что мой код выглядел так:
int errorCode = 0;
errorCode = doSomething();
if (errorCode == 0)
{
errorCode = doSomethingElse();
}
...
if (errorCode == 0)
{
errorCode = doSomethingElseNew();
}
Но в последнее время я писал это так:
int errorCode = 0;
do
{
if (doSomething() != 0) break;
if (doSomethingElse() != 0) break;
...
if (doSomethingElseNew() != 0) break;
} while(false);
Я видел много кода, где ничто не запускается после ошибки, но оно всегда было написано в первом стиле. Есть ли кто-нибудь, кто использует этот стиль, а если нет, почему?
Изменить: только для пояснения, обычно эта конструкция использует errno
, иначе я буду присваивать значение int
перед взломом. Также обычно больше кода, чем только один вызов функции в предложениях if (error == 0 )
. Много хороших моментов, чтобы думать, хотя.