标准错误输出和标准输出的行为不同。标准输出(stdout)通常用于输出正常的程序执行结果,而标准错误输出(stderr)则用于输出程序执行过程中的错误信息。
在大多数编程语言中,可以通过将错误信息输出到标准错误输出,以区分正常输出和错误输出。以下是一些常见编程语言的示例解决方法:
import sys
try:
# 一些可能发生错误的代码
# ...
except Exception as e:
print("An error occurred:", e, file=sys.stderr)
try {
// 一些可能发生错误的代码
// ...
} catch (Exception e) {
System.err.println("An error occurred: " + e);
}
#include
int main() {
FILE *fp = fopen("nonexistent_file.txt", "r");
if (fp == NULL) {
fprintf(stderr, "Failed to open file\n");
}
return 0;
}
上述示例代码中,都将错误信息输出到了标准错误输出,以便用户能够区分正常输出和错误输出。