为什么finally块写return会报错
我在catch和try都能写,但写在try块就报错,而如果我只在try块写return,出了异常方法try catch finally块之外的语句也能输出,不是很懂为什么
9
收起
正在回答
4回答
同学,你好!不知道你的代码是什么样子的,按照下面代码这样写return是不会报错的。建议同学贴出你的代码看一下。
另外,下面这个问题:
try块里写了return,但如果抛出了异常,try catch finally块后面的写的语句也能正常输出
如果抛出了异常,finally里的语句是可以正常执行的,在后面的数据库课程中会多次用到这种使用方式。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
好帮手慕珊
2019-08-02 19:47:49
你好!你的理解是对的。在如下所示的代码中,如果a.txt文件不存在,就会发生异常,此时就会执行catch块中的代码,然后执行finally和finally后的代码。
public class Test1 { public static void main(String[] args) { try { FileInputStream fis=new FileInputStream("a.txt"); return; }catch(Exception e) { e.printStackTrace(); }finally { System.out.println("ok"); } System.out.println("ok1"); } }
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
慕UI5285863
2019-08-02 14:20:11
我这个问题是问我在finally写return会报错,这是为什么
还有try块里写了return,但如果抛出了异常,try catch finally块后面的写的语句也能正常输出
慕UI5285863
2019-08-02 13:35:54
老师在吗,还没解答
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星