首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言中perror的Java等价物

C语言中perror的Java等价物
EN

Stack Overflow用户
提问于 2014-07-10 22:16:37
回答 2查看 761关注 0票数 0

我希望执行bash脚本并获得正常输出或错误消息。我知道对于C,我们有erronperror来获取退出代码的编号和相应的消息。是否存在用于Java的等价物。如果不是,我们如何实现与C语言相同的任务呢?

EN

回答 2

Stack Overflow用户

发布于 2014-07-10 22:25:15

如果你像这样开始你的进程:

代码语言:javascript
复制
Process p = Runtime.getRuntime().exec("<command>");

返回的错误代码如下:

代码语言:javascript
复制
int error_code = p.waitFor();
票数 1
EN

Stack Overflow用户

发布于 2014-07-10 22:26:37

你把事情搞混了。

从bash、Java或任何启动它的环境中退出的进程的退出状态与可以由perror()打印的errno值不同。后者是针对单个系统调用的错误,显然处于更低的级别。

进程的退出状态可以是任何状态,没有标准,因为它通常只是通过/失败,详细级别通常由程序本身覆盖。

例如,请参见the exit status of GNU grep

正常情况下,如果找到所选行,则退出状态为0,否则为1。但如果发生错误,退出状态为2。

这是非常高级的,并没有告诉您grep内部发生了什么错误,只是总体上说它失败了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24678948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档