egg中的错误处理疑惑
发布于 6 年前 作者 acodercat 6172 次浏览 来自 问答

在业务中抛出js throw new Error('response status is not 200'); 这种错误的时候,在捕获的时候必须全局捕获处理,这样好像不太友好,框架本身有对这块做处理或者提供一些功能吗。或者由开发者本身来自定义一些错误然后抛出吗

7 回复

不太理解你的问题

  • egg-onerror 是框架做兜底的
  • 你自己的处理,可以在 Controller / Service 等地方自己 catch
  • 或者通过 Middleware 结合 match 来做范围的 catch
  • 另外,也可以关注下我们这个: [RFC] 应用自定义 4xx 和 5xx 的方案

我们这是用middleware来做的,匹配errcode,抛出不同的错误

@yuezm 嗯,这其实属于错误分离和处理了,可以参与下我上面的给的链接的讨论

image.png

@atian25 请问怎么在errorHandler中间件中捕获this.ctx.throw抛出的异常呢

try catch 就能收获到

它属于哪个类呢,我instanceof不出来

回到顶部