【发布时间】:2018-06-23 18:24:30
【问题描述】:
我的代码结构如下:
main(){
if(...){
perror(... < 0);
res = -1;
goto cleanup;
}
...
if(... < 0){
perror(...);
res = -2;
goto cleanup;
}
...
cleanup:
close(fd);
return res;
}
我以为我会从 main.js 返回一些有意义的错误。但是太懒了。现在我想稍微缩小我的代码。我想按以下方式构造我的代码:
...
if(... < 0){
perror(...);
goto cleanup;
}
...
if(... < 0){
perror(...);
goto cleanup;
}
cleanup:
close(fd);
return errno; // return from main
这样做是个好习惯吗?
【问题讨论】:
-
不是一个很好的密切理由,因为答案肯定最好不要主要基于选项,而是基于事实(请参阅this answer below)。
-
目前看不到任何基于意见的答案。这些答案为我提供了一些有价值的信息。