0

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

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

示例中描述的简单设置中,通过传递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)
  }
});

我不确定我做错了什么,或者这两种方法不兼容。如果是后者:是否有人对概述的问题有解决方案?

4

0 回答 0