使用Koa和路由协商程序进行错误处理

时间:2018-04-11 16:03:56

标签: typescript koa koa2 koa-router

我正在寻找使用库routing-controllers时广义错误处理的解决方案。

我的自定义错误处理应该能够捕获来自Promise的任何被拒绝的Controller,从中构建响应主体并根据响应上的错误类型设置HTTP代码。我不喜欢Koa默认的错误处理,因为我想吐出我的自定义响应体(不是堆栈跟踪等)。

example中描述的简单设置上,在应用初始化时传递Controller,不再可能使用Koa wiki中描述的Koa错误处理。

详细说明,我将应用设置为:

const app = createExpressServer({
   controllers: [UserController]
});
app.listen(3000);

并尝试按以下方式添加错误处理程序:

app.use(async (ctx, next) => {
  try {
    await next();
  } catch (err) {
    console.log(err)
  }
});

我不确定我是做错了还是这两种方法都不兼容。如果是后者:有没有人能解决问题?

0 个答案:

没有答案
相关问题