错误处理
# 五. 错误处理
对于接口编程, 错误处理是非常重要的环节, 通过提供更友好的提示
- 提高错误定位的效率
- 提高代码的稳定性和可靠性
# 1 原生的错误处理
一般Koa中的错误分为三类
- 404: 当请求的资源找不到, 或者没有通过
ctx.body
返回时, 由koa自动返回 - 手动抛出: 通过
ctx.throw
手动抛出 - 500: 运行时错误
Koa类是继承Emitter类, 因此可以
- 通过emit提交一个错误
- 通过on进行统一错误处理
app.on('error', (err, ctx) => {
console.error(err)
ctx.body = err
})
1
2
3
4
2
3
4
# 2 使用中间件
# 1) 安装
npm i koa-json-error
1
# 2) 使用
基本使用
const error = require('koa-json-error')
app.use(error())
1
2
2
高级使用
const error = require('koa-json-error')
app.use(
error({
format: (err) => {
return { code: err.status, message: err.message, result: err.stack }
},
postFormat: (err, obj) => {
const { result, ...rest } = obj
return process.env.NODE_ENV == 'production' ? rest : obj
},
})
)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
如果觉得有帮助, 可以微信扫码, 请杰哥喝杯咖啡~
上次更新: 2021/10/11, 16:20:11