Express中未处理的异常

时间:2019-03-23 01:05:10

标签: javascript node.js reactjs

我遇到以下错误问题throw er; // Unhandled 'error' event 这是我的Controler.js

const router = require('express').Router();
router.post('/api/sendMail', async (req,res) => {
    console.log("yes")
});

module.exports = router;

这是我的index.js

const cont = require('./controllers/Controler');

app.use(cont);

 throw er; // Unhandled 'error' event
  ^

Error: listen EADDRINUSE :::5000
    at Server.setupListenHandle [as _listen2] (net.js:1286:14)
    at listenInCluster (net.js:1334:12)
    at Server.listen (net.js:1421:7)
    at Function.listen (/Users/user/folder/node_modules/express/lib/application.js:618:24)
    at Object.<anonymous> (/Users/user/folder/server.js:24:5)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
Emitted 'error' event at:
    at emitErrorNT (net.js:1313:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:11)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

我不确定丢失了什么,但是发出了未处理的错误。

3 个答案:

答案 0 :(得分:2)

似乎有些东西已经在使用 5000 端口。

如果您使用基于* nix的操作系统,则可以获得以下进程列表:

netstat -tulpn | grep 5000

然后终止特定进程:

kill -9 PID

答案 1 :(得分:0)

使用try / catch:

try {
    app.use(cont);
} catch(er) {
    console.log(er);
}

还请注意,端口5000已在使用中(EADDRINUSE)-尝试将端口更改为其他端口。

答案 2 :(得分:0)

尝试使用其他端口运行您的应用程序,或终止当前端口5000中的进程

要在Windows中终止任务

//get process running in port 5000

netstat -ano | findstr :5000 

//enter your pid and force kill
//replace <pID> with your process id

taskkill /PID <pID> /F