process.stderr.on('data')和process.on('error')有什么区别?

时间:2019-05-26 20:54:51

标签: node.js error-handling stderr

我正在为节点应用程序中的子进程设置错误处理,我想知道这两个选项:

    childProcess.on('error', err => {
        // omitted
    });

    // do we need both this and the preceding handler?
    childProcess.stderr.on('data', data => {
        // omitted
    });

有什么区别?都需要吗?

1 个答案:

答案 0 :(得分:1)

当节点启动,停止或管理子进程有问题时,将触发child process error event

stderr是子进程运行后的输出通道之一。 data事件在流程的正常操作中可以触发多次,并且通常可以包含有关流程错误状况的重要信息。通常,您将以与stderr类似的方式处理stdout

exit events code的值对于子进程也很重要。通常,进程会以非0返回码退出,以表示发生了问题。