7KOA 错误处理
2020-01-06 本文已影响0人
帶頭二哥
错误处理
如果运行代码过程中发生错误,我们需要把错误信息返回给用户。Koa 提供了ctx.throw()方法,用来抛出错误
返回异常错误状态码
app.use(async (ctx,next) => {
ctx.throw(500)
})
返回异常错误状态码和信息
app.use(async (ctx,next) => {
ctx.response.status = 404;
ctx.response.body = 'Page Not Found';
})
处理错误的中间件
- 处理错误中间件一般放置于所有中间件最外层
- 用于自定义错误处理返回结果
- 使用
try...catch...
捕获await next()
异常处理异常
const errorMiddleware = async (ctx,next) => {
try {
await next();
} catch (err) {
ctx.body = {
meta :{
status:err.statusCode,
message:err.message
}
}
}
}
app.use(errorMiddleware)