是否应该向stdout或stderr发送警告消息?
这是在某处定义的(例如在Posix中)吗?
这个问题与特定的编程语言或机器架构无关。
答案 0 :(得分:3)
这取决于。例如,假设您正在实施sort
计划。您的程序从stdin读取其输入并写入stdout。假设您添加一个选项来执行“数字”排序而不是字典排序(详细信息并不重要)。假设如果输入中实际没有找到任何数字,您想要写一条警告消息。您的排序仍然有效,但可能不是用户的意图。在这种情况下,您可能希望将警告消息写入stderr,因为stdout是为实际排序数据保留的。
另一方面,如果您正在编写一个程序来联系Web服务API,请阅读一些JSON,提取一些信息,并将信息写入数据库,然后向stdout写一条警告消息是完全可以接受的。
所以,这取决于你的应用程序是什么以及它如何使用stdout。没有“标准”。