CNode

node 有什么好的工具全局捕获异常呢

问答
Ddixiaoping发布于7 年前最后回复7 年前4 回复5822 浏览0 收藏

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

Q
quanpf2481#1·7 年前

try...catch,可以试试

J
JsonMa#2·7 年前

在中间件的最外层捕获就可以了哦

J
JianmingXia#3·7 年前

加一个中间件,类似这种在最外围捕获:

    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);
    }
D
dingyuanwu#4·7 年前

process.on() 进程级别的错误捕获

参与回复
登录后即可参与回复。登录