gpt4 book ai didi

javascript - node.js 和 express 中的异常处理

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:43 26 4
gpt4 key购买 nike

我是 javascript 和 Node 的新手,一直在尝试使用 node.js 和 express 创建应用程序。

我已经为错误设置了适当的回调,但它们并没有放在任何地方,有时 node.js 服务器只是因为出现一些异常而停止。

建议使用 'upstart' 或 'forever' 来保持 node.js 始终运行并在 node.js 停止时启动它。

似乎 express 通过链接 http://expressjs.com/guide.html#error-handling 中的以下内容提供了对所有异常的捕获。

app.use(function(err, req, res, next){
console.error(err.stack);
res.send(500, 'Something broke!');
});

它现在对我有用。但是我在某处读到,像这样捕获错误不是一个好主意,因为它会产生副作用并且会使变量处于不一致状态?同样捕获这样的异常并不适用于所有情况,并且在某些情况下服务器仍然可以因某些异常而停止。是真的吗?

我的问题大概是这样的。

1) 像上面那样的异常处理可以让一些变量处于不一致的状态吗?2) 是否有一些异常仍然会停止服务器?

感谢和问候

图科

最佳答案

1) 这种异常处理方法是否会使某些变量处于不一致状态取决于您的实现。

如果您将所有变量的范围限定为特定的请求和函数,并且不访问全局或更高级别的变量(如全局应用程序对象),您会没事的。垃圾收集器在异常发生后立即清理未使用的内存。

2) 是的,某些异常可能会导致服务器停止。因此,您应该像这样为进程设置一个全局异常处理程序:http://nodejs.org/api/process.html#process_event_uncaughtexception

关于javascript - node.js 和 express 中的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com