【发布时间】:2018-11-21 22:16:19
【问题描述】:
我是一名编程新手,我正在尝试了解 stdin、stdout 和 stderr 的工作原理。据我了解,stdout 和stderr 是我们可以直接从程序输出的两个不同位置。我想我不明白仅仅因为stderr 的错误而输出第二个“流”有什么意义?为什么常规stdout 上没有错误? stderr 出现错误让我可以做什么(基本上为什么 stderr 有用)?
【问题讨论】:
-
您可能想忽略标准输出,而不是标准错误。分离流允许您这样做,无论是记录、解析程序输出等。
-
Wiki: '标准错误是程序通常用于输出错误消息或诊断的另一种输出流。它是一个独立于标准输出的流,可以单独重定向。这解决了半谓词问题[...]' stderr 的要点是不要猜测而是知道输出什么以及错误代码是什么。
-
这是一个方便和连贯的问题,它与给您的用户的信息和崩溃消息不同
-
其实我在 Python 上看不到这个问题的任何细节,它几乎是相同的概念,独立于编程语言。
标签: python error-handling stdout stdin stderr