try {
await next();
} catch (err) {
ctx.response.body = {
code: err.status,
errMsg: err.message
};
// JSON.stringify(err) === '{"message":"Custom Error."}'
// ctx.body = JSON.stringify(err);
}
ctx.throw(406, 'Custom Error.');
上面是请求入口处捕获错误,下面是某个中间件抛出错误.
err序列化之后是{"message":"Custom Error."},为什么上面还能从err里取到err.status和err.statusCode呢?
我看koa使用了一个http-errors的库,其它就不知道了...