什么时候该抛出异常?什么时候该捕获异常?对于这两种方式有些模糊,老师说方法有返回值应该抛出异常,无返回值应该捕获异常,但有的时候业务逻辑不同又导致抛出或捕获不同,希望各路大神能给予解答
捕捉不捕捉异常,要看业务需求 如果业务上没有需求,那就从系统的健壮性考虑,比如出现异常时系统会不会崩溃,或者出现异常后需不需要后续的特定处理
对于方法的调用(不考虑远程调用),一般情况下,有两种结果: 1.正常返回 2.错误返回 其中(错误返回)可以用返回值表示错误(比如-1,null等),也可以用抛出异常表示错误, 但两者不可能同时出现,也就是不存在调用方法后即得到返回值,又得到异常信息的情况。 所以,解答你第一个问题,什么时候该抛出异常? 回答:在程序需要错误返回并且不想用返回值表示错误的时候,需要抛出异常。 第二个问题:什么时候该捕获异常? 回答:在你认为你的程序可以正确的识别并处理这个异常信息的时候,可以捕获该异常并处理掉。 否则,就交给上一层来处理(抛出); 如果一直向上抛,最终会抛给系统(你的程序是由系统启动的)导致系统异常(这时一般会结束程序)。 所以实际开发中,一般在框架层对标准异常进行处理。并且在编码规范中规定业务异常的抛出和处理方式。 如果还有问题可以来我空间提问(www.java123.vip)
62,635
社区成员
307,269
社区内容
加载中
试试用AI创作助手写篇文章吧