美文网首页
koa错误处理

koa错误处理

作者: 冷小谦 | 来源:发表于2018-10-15 15:37 被阅读295次

    1.500错误
    koa提供了ctx.throw()方法来抛出错误,ctx.throw(500)就是抛出500错误

    const main = ctx => {
      ctx.throw(500);
    };
    internal server error
    

    2.404错误

    ctx.response.status = 404;
    ctx.throw(404);
    page not found
    

    3.处理错误的中间件

    const handler = async (ctx, next) => {
      try {
        await next();
      } catch (err) {
        ctx.response.status = err.statusCode || err.status || 500;
        ctx.response.body = {
          message: err.message
        };
      }
    }
    

    4.error事件的监听
    运行过程中一旦出错,Koa 会触发一个error事件。

    app.on('error', (err, ctx) =>
      console.error('server error', err);
    );
    

    5.释放error事件
    如果错误被try...catch捕获,就不会触发error事件。这时,必须调用ctx.app.emit(),手动释放error事件,才能让监听函数生效。

    相关文章

      网友评论

          本文标题:koa错误处理

          本文链接:https://www.haomeiwen.com/subject/eovfzftx.html