错误处理
# 1. 错误处理
对于接口编程,错误处理非常重要,通过提供更友好的提示
- 提高错误代码定位的效率
- 提高代码的稳定性和可靠性
# 2. 原生错误处理
一般koa的错误分为三类:
- 404: 当请求资源找不到时,或者没有通过ctx.body返回时,由koa自动返回
- 手动抛出:通过koa.throw手动抛出
- 500:运行错误
Koa类是继承Node的Emiter类,因此可以
- 通过emit提交一个错误
- 通过on进行统一的错误处理
app.on('error', (err) => {
})
# 使用中间件
koa-json-error 错误会默认抛出堆栈信息,在生产环境中,没必要返回给用户,在开发环境显示即可
const error = require('koa-json-error')`
app.use(error({
postFormat: (e, { stack, ...rest }) => process.env.NODE_ENV === 'production' ? rest : { stack, ...rest }
}))