Try catch里面的怎么运行的?

我现在不太确定理解的对不对,第10行throw手动抛出了,然后又自己捕获了吗?这样做有啥意义?还有最主要第14行throw a是啥意思?抛出了啥?追加一个疑问,它也没有if判断,为啥可以捕获到啊

img

首先,异常是非常有意义的,由于你这个代码只是示例,过于简单。如果是真实企业 业务逻辑很多,try里面有很多行逻辑,走到一半抛出异常了,自己捕获就非常有意义,例如转账扣款等业务。

  1. 第10行throw手动抛出了,是否了模拟业务代码出现问题,抛出异常,例如扣款时余额不足。然后又自己捕获了,是为了处理异常,例如将的订单取消等。

  2. 第14行throw a是将捕获到的异常a再次抛出去,交给外面的方法解决(17行又会捕获到),然后继续进行处理

可以参考我写的文章[3:Throwable-Java API 实战],里面介绍了 trycatch的作用,包括throws和trycatch区别,用途区别
https://blog.csdn.net/qq_46207024/article/details/123616783?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165923752116781790765835%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165923752116781790765835&biz_id=0&spm=1018.2226.3001.4450