Решение состоит в том, чтобы добавить прослушиватель для события 'error' потока.Поначалу это может показаться нелогичным, но это оправдано.
stream.write () отправляет данные асинхронно.К тому времени, когда этот узел осознал, что запись в сокет вызвала ошибку, на которую переместился ваш код, после вызова stream.write, поэтому у него нет возможности вызвать ошибку там.
Вместо этого,то, что делает узел в этой ситуации, отправляет событие «error» из потока, и EventEmitter кодируется так, что если нет прослушивателей для события «error», ошибка возникает как исключение верхнего уровня, и процесс заканчивается.