异常10
目录
异常(10)
昨天我们了解了finally的用途,也知道了fianlly的特点,那么大家可能会有一个疑问,那么就是try-catch中的代码也能执行,也可以释放资源,为什么还需要fianlly呢?
需求:实现getDate方法,内部输入一个整型文字,然后将数字返回,并在main方法中打印.
下面的代码可能没有关闭资源,因为如果try块中没有异常抛出,那么就会直接return,那么之后的代码就不会执行.
但是如果放入finally之中,那么无论你是否return,它都会执行.
⭐️建议,不要在finally中return数据.(finally中代码一定会被执行,就算有return,它也会被执行,在没计的时候,你的程序无论如何都必须要执行finally,所以如果你在finally里return,他会覆盖掉我们try中的return
注意:finally中的代码一定会被执行的,一般在finally中执行一些资源清理的扫尾工作.
⭐️ finally执行的时机是在方法返回之前(try或者catch中如果有return会在这个return之前执finally),但如果finally中也存在return语句,那么就会执行finally中的return,从而不会执行到try中原有return.一般我们不建议在finally中写return (被编绎器当做一个警告)
那么今天分享就到这里,谢谢大家!!!