node 有什么好的工具全局捕获异常呢
发布于 5 年前 作者 dixiaoping 4473 次浏览 来自 问答

我是这样判断的,可以捕获到抛出的异常,但是有没有更加优美的办法呢 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() 进程级别的错误捕获

回到顶部