2012-02-09 44 views
1

我目前工作的一个命令行工具,因为这是我第一次设计这样的工具我有几个设计问题,最主要的是如何处理非致命错误。命令行工具错误设计

是我工作的工具提出了一个不可配置端口上配置端口可选的网络服务器上,之后主服务器。如果我们再选择一次做到这一点(而使用不同的端口主服务器),我们显然会得到一个绑定错误时尝试启动可选的Web服务器。

因为这是一个非致命错误(运行Web服务器是可选的),并从UI体验我最初的想法是打印出清晰的错误,并与程序进行。不过,我已经被告知,从脚本立场的角度打印出错误,然后现有是更好的做法。

那么,什么是好?

回答

1

您可能还想考虑人们可能希望编写脚本,即使网络服务器已经在运行,但脚本的调用也会成功

如果定义的默认行为“失败,如果Web服务器已经运行”,那么这样的脚本将要分析你的错误信息,或读/了解您的返回值,并计算出该调用失败这个特别的原因(即网络服务器已经运行)。

给他们一个出路这一点,并引入标志(参数),他们可以决定他们想要的行为。在没有国旗的情况下,做更安全的事情也许(即如果网络服务器正在运行时出错)。

+0

我明白你在说什么,但是超载消费者与标志可以混淆恕我直言。那么在那种情况下,为什么“安全”退出会更好地成为一个明确的信息呢? – jonatzin 2012-02-09 13:57:02

+0

那么,如果不熟悉的用户在没有标志的情况下调用程序,那么在没有标志的情况下,什么是“安全”的默认行为可能取决于是否会发生多大程度的损坏。我建议“示数出来”为默认值,因为我想可能会发生损害最小,如果它出现了错误,因此没有运行。 – ArjunShankar 2012-02-09 14:08:10

+0

嗯,好吧。感谢您的帮助! – jonatzin 2012-02-09 14:11:42