node 有什么好的工具全局捕获异常呢
我是这样判断的,可以捕获到抛出的异常,但是有没有更加优美的办法呢 if (process.env.NODE_ENV === “production”){ app.use((error, req, res, next) =>{ if (error) { logger.log(‘error’, new Error(error)); return res.render(’./mobile/500.ejs’); } }); }
4 回复
try…catch,可以试试
在中间件的最外层捕获就可以了哦
加一个中间件,类似这种在最外围捕获:
try {
await next();
ctx.body = {
code: ErrorCode.OK,
data: ctx.body,
message: null,
};
} catch (err) {
ctx.status = err.status || StatusCode.OK;
ctx.body = parseErrorResult(ctx, err);
}
process.on() 进程级别的错误捕获