В чем разница между process.stderr.on («данные») и process.on («ошибка»)? - PullRequest
1 голос
/ 26 мая 2019

Я настраиваю обработку ошибок для дочернего процесса в моем приложении узла, и мне интересно узнать об этих двух параметрах:

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

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

Какая разница? Нужны ли оба?

1 Ответ

1 голос
/ 27 мая 2019

Событие дочернего процесса error запускается, когда у узла возникает проблема с запуском, остановкой или управлением дочерним процессом.

stderr является одним из выходных каналов для дочернего процесса после его запуска.Событие data может запускаться много раз при нормальной работе процесса и часто может содержать важную информацию об условиях ошибки процесса.Обычно вы обрабатываете stdout аналогично stderr.

Значение exit events code также может быть важно для дочернего процесса.Часто процессы завершаются с кодом возврата, отличным от 0, чтобы сигнализировать о возникшей проблеме.

...