【发布时间】:2013-11-08 18:57:13
【问题描述】:
仅使用低级 I/O 用 C 编写程序..
程序必须有完整的错误捕获。特别是 程序应该使用 perror() 来报告系统错误...
在我的程序中...
test("checked argument count");
if((input_file1 = open(argv[1], O_RDONLY)) < 0)
{
test("couldn't open file1");
perror(argv[1]);
close(input_file1);
exit(1);
}
test("opened file1");
如果我为每次读/写尝试实现这样的代码,这是否会被视为“完全错误捕获”?
注意:test()仅用于调试,稍后会删除:
void test(const char * message)
{
printf("\ttesting: %s \n", message);
}
【问题讨论】:
-
ANYTHING 会抛出异常导致程序崩溃吗?如果你已经设法让这个答案不,那么这对我来说听起来像是完全错误陷阱。
-
也许你应该问问你的教授他的意思。
-
不管我的 cmets 是什么,我都不是给你的作业评分的人,@AShelly 有一个完全正确的观点。
-
我认为在这种情况下“完全错误捕获”意味着“编写正常代码,而不是废话”(这意味着检查每个可能失败的系统调用的返回值)。
标签: c error-handling low-level low-level-code low-level-io