2015-11-27 3 views
1

я получаю сообщение об ошибке из приложения Node.js:Node.js: необработанное «ошибка» событие

events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: read ECONNRESET 
    at errnoException (net.js:905:11) 
    at TCP.onread (net.js:559:19) 

Я думаю, что я могу поймать эту ошибку, вызвав .on('error', function() {...}) на какой-либо объект, но как я могу узнать на каком объекте?

+1

Вы пытаетесь использовать порт 80 на linux? Если это так, вы должны быть администратором –

ответ

0

Это одно из ваших TCP-соединений, но вы правы, что из-за коротких стековых следов цикла событий это может быть загадкой для выяснения. Даже тогда промежуточные библиотеки могут не предоставлять удобный доступ к фактическому экземпляру подключения, являющемуся источником ошибки. Если вы просто хотите поймать ошибку, process.onUncaughtException предоставит вам последний механизм для этого. Вы также можете попробовать Домены и посмотреть, не помогут ли они вам отслеживать источник (поскольку они будут поддерживать причинную цепочку для вас). Есть также несколько длинных модулей трассировки стека на npm, которые могут помочь.

Возможно, вам придется начать делить вашу программу на более мелкие части, чтобы изолировать подсистему.

Смежные вопросы