【发布时间】:2015-08-31 04:45:26
【问题描述】:
警告信息应该发送到 stdout 还是 stderr?
这是在某个地方定义的吗(例如在 Posix 中)?
这个问题与特定的编程语言或机器架构无关。
【问题讨论】:
警告信息应该发送到 stdout 还是 stderr?
这是在某个地方定义的吗(例如在 Posix 中)?
这个问题与特定的编程语言或机器架构无关。
【问题讨论】:
这取决于。例如,假设您正在实施一个sort 程序。您的程序从标准输入读取其输入并写入标准输出。假设您添加了一个选项来执行“数字”排序而不是字典排序(细节并不重要)。假设您想在输入中没有实际找到任何数字时编写警告消息。您的排序仍然有效,但可能不是用户想要的。在这种情况下,您可能希望将警告消息写入 stderr,因为 stdout 是为 实际 排序数据保留的。
另一方面,如果您正在编写一个程序来联系 Web 服务 API,读取一些 JSON,提取一些信息,然后将信息写入数据库,那么将警告消息写入标准输出可能是完全可以接受的。
所以,这取决于您的应用程序是什么以及它如何使用标准输出。没有“标准”。
【讨论】: