【问题标题】:Should a warning go to stdout or stderr?应该向 stdout 还是 stderr 发出警告?
【发布时间】:2015-08-31 04:45:26
【问题描述】:

警告信息应该发送到 stdout 还是 stderr?

这是在某个地方定义的吗(例如在 Posix 中)?

这个问题与特定的编程语言或机器架构无关。

【问题讨论】:

标签: warnings stdout stderr


【解决方案1】:

这取决于。例如,假设您正在实施一个sort 程序。您的程序从标准输入读取其输入并写入标准输出。假设您添加了一个选项来执行“数字”排序而不是字典排序(细节并不重要)。假设您想在输入中没有实际找到任何数字时编写警告消息。您的排序仍然有效,但可能不是用户想要的。在这种情况下,您可能希望将警告消息写入 stderr,因为 stdout 是为 实际 排序数据保留的。

另一方面,如果您正在编写一个程序来联系 Web 服务 API,读取一些 JSON,提取一些信息,然后将信息写入数据库,那么将警告消息写入标准输出可能是完全可以接受的。

所以,这取决于您的应用程序是什么以及它如何使用标准输出。没有“标准”。

【讨论】:

    猜你喜欢
    • 2010-11-28
    • 2011-06-22
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多