2013-10-24 25 views

回答

1

如果命令行参数无效,只需退出带有期望的程序(可能通过错误消息进行显式指示),然后用户将用正确的参数再次运行程序。我没有任何事实可以支持,但让程序继续运行,并骚扰用户输入一组新的命令行参数似乎不是很好的设计。

+0

当然,如果只有一个提示。但是,如果有10个提示,并且只有最后一个响应是无效的。您认为强制用户从头开始重新开始是一个好设计?或者也许脚本在发出提示之前运行1小时。 OP的要求非常合理的情况有很多。 – dbenham

+0

@dbenham:基于OP使用短语“命令行”而不是“标准输入”,我假定参数都是实际的*命令行参数*,即通过'argv'而不是一系列提示'stdout'并从'stdin'中读取。如果他们实际上是'argv'的参数,那么从*开始就是很好的设计。 – jwodder

+0

啊,你是对的。我的脑子里有Windows批处理脚本,因为这个问题是作为我的SO过滤器的一部分寻找批处理相关的问题。除非编辑问题,否则系统不会让我撤销我的投票:(OP应该可能在做任何工作之前改变脚本/程序以验证文件的存在(基本事务控制) – dbenham

相关问题