如何将错误消息打印到标准错误?

前端之家收集整理的这篇文章主要介绍了如何将错误消息打印到标准错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在UNIX中,我应该编写一个Java文件,将“Exit 1”打印到标准错误,然后以状态1退出.

这是我的方法..

System.err.println("EXIT 1");
System.exit(1);

这是我应该做的吗?

如果是这样,我怎么能在Unix shell中使用它?当我在bash中编译并运行它时,它只打印“EXIT 1”(因此它与System.out.println做同样的事情,我为什么要使用“err”?).这里的“标准错误”是什么?

每个节目都有三个流:

>标准输入(stdin),通常来自键盘.暴露为System.in
>标准输出(标准输出),通常进入控制台.暴露为
System.out
>标准错误(stderr),通常也会进入控制台.公开为System.err

你的程序是正确的.它会打印到stderr,但在正常情况下,stderr流会转到控制台,就像stdout流一样.

但是,您应该使用stderr而不是stdout来处理错误消息的原因是因为您可以重定向它.这意味着您将stderr的内容发送到文件而不是控制台.例如,您可以在bash,cmd,Powershell等中执行此操作:

$java Program 2> errors.txt

现在,对System.err.println()的所有调用都将转到errors.txt而不是屏幕,这有助于调试.

猜你在找的Bash相关文章