我正在寻找使用库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)
}
});
我不确定我是做错了还是这两种方法都不兼容。如果是后者:有没有人能解决问题?