throw e 和 return 的浅显理解

1.Throw E Return

  1. 在一个try catch中
    在这里插入图片描述
  2. 使用throw e 或者return 爆红都会取消
    在这里插入图片描述
  3. throw e 和 e.printStackTrace();的区别
throw e             作用于方法内,是抛出异常,会中断程序,后面的代码都不执行了
throws              作用于方法上,用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,throws 对应的异常真的有发生不会终止程序,谁调用我我就抛给谁
e.printStackTrace() 是输出错误日志,并不中断程序

总结:

return的作用很简单,意思是方法直接返回了,该方法不在向下执行。但是调用该方法的方法继续执行。

而throw指抛出异常,并且该方法以及调用该方法的一切方法将不会向下执行。但是,这个异常却会一直向上抛出,如直到有上层方法使用了try catch进行捕获这个异常,则catch方法块中的命令都会被执行

2.关于控制台打印

这里使用一个BigDecimal 除数不能为0的一个异常

  1. 正常抛出异常
    在这里插入图片描述
  2. 去除 e.printStackTrace();
    在这里插入图片描述
  3. 使用lombok的注解@Slf4j输出异常
log.info("计算成功");
log.error("计算失败",e); //带e也只是打印,不同throw e 会中断程序

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值