前端如何(不)能捕获到后端抛出的异常?

本后端小白在学校的简单项目中,写前端时都是通过if语句来实现判断后端返回的结果是否正常。但今天看了这么一段前端代码。
在这里插入图片描述

上面的代码实现了登陆验证成功时放行,不成功时弹窗提示错误。看到了这段代码,我的猪脑受到了严重的冲击。可以看到login方法成功受到响应后会执行then方法(其实不是),而then方法中没有任何的弹窗输出,那么很显然,是执行了catch语句。这段catch语句到底是如何执行的? 大概是因为我不会前端,思考了0.5秒,我的猪脑瞬间过载。

询问了各路大神,大神说:前端能捕获到后端异常。
神说能,那就能。

本来问题应该到此结束,但我始终觉得不妥,按理说后端抛出的异常属于过程,而前端只能知道结果。于是又苦苦钻研3小时。

翻过了后端一个又一个类,一层又一层的包,最终我知道了,后端抛出异常后,拦截了异常,并返回错误提示。也就是说,后端也仅仅并只能返回一个结果给前端。

于是只能硬着头皮去看前端,越过一个又一个js文件,最后是发现了这么一段代码
在这里插入图片描述
拦截响应器……

也就是说前端其实应该并不也暂时没有什么捕获后端异常的能力,只是响应来到的时候,先是被拦截做了判断,如果状态码不是200,则在拦截中抛出reject,所以原来的login.then.catch就会执行catch。

果然无论是前后端,都无法做超出自己能力范围内的事情,但可以通过一些巧妙的方法,来使它看起来充满魔力。

就像我们虽然没办法延伸生命的长度,但我们却可以做更多有意义的事,来拓展生命的宽度。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值