难度
初级
学习时间
10分钟
适合人群
零基础
开发语言
Java
开发环境
- JDK v11
- IntelliJ IDEA v2018.3
友情提示
- 本教学属于系列教学,内容具有连贯性,本章使用到的内容之前教学中都有详细讲解。
- 本章内容针对零基础或基础较差的同学比较友好,可能对于有基础的同学来说很简单,希望大家可以根据自己的实际情况选择继续看完或等待看下一篇文章。谢谢大家的谅解!
1.try代码块
首先,我们来看看try代码块能不能单独存在。
演示:
请定义try代码块。
请观察程序运行结果。
代码:
Main类:
结果:
错误信息:
文字版:
/Users/admin/Workspace/Java/Hello/src/main/Main.javaError:(11, 9) java: 'try' 不带有 'catch', 'finally' 或资源声明
从运行结果来看,我们的try代码块不能单独出现。
2.catch代码块
我们来看看catch代码块能不能单独存在。
演示:
请定义catch代码块。
请观察程序运行结果。
代码:
Main类:
结果:
错误信息:
文字版:
/Users/admin/Workspace/Java/Hello/src/main/Main.javaError:(11, 9) java: 有 'catch', 但是没有 'try'
从运行结果来看,我们的catch代码块不能单独出现。错误信息里面说的也很清楚,有catch但是没有try。
3.finally代码块
我们来看看finally代码块能不能单独存在。
演示:
请定义finally代码块。
请观察程序运行结果。
代码:
Main类:
结果:
错误信息:
文字版:
/Users/admin/Workspace/Java/Hello/src/main/Main.javaError:(11, 9) java: 有 'finally', 但是没有 'try'
从运行结果来看,我们的finally代码块不能单独出现。错误信息里面说的也很清楚,有finally但是没有try。
4.try-catch代码块
我们来看看try-catch代码块组合。
演示:
请定义try-catch代码块。
请观察程序运行结果。
代码:
Main类:
结果:
从运行结果来看,我们的try-catch代码块可以组合在一起。
5.try-finally代码块
我们来看看try-finally代码块组合。
演示:
请定义try-finally代码块。
请观察程序运行结果。
代码:
Main类:
结果:
从运行结果来看,我们的try-finally代码块可以组合在一起。
上面是try代码块里面没有发生异常情况,如果try代码块里面发生异常呢?
运行程序,执行结果:
错误信息:
文字版:
finally代码块Exception in thread "main" java.lang.ArithmeticException: / by zeroat main.Main.main(Main.java:13)
从运行结果来看,我们程序还是将异常抛给了JVM(Java虚拟机),然后程序最终停止了,不过finally还是执行了。
6.catch-finally代码块
我们来看看catch-finally代码块组合。
演示:
请定义catch-finally代码块。
请观察程序运行结果。
代码:
Main类:
结果:
错误信息:
文字版:
/Users/admin/Workspace/Java/Hello/src/main/Main.javaError:(11, 9) java: 有 'catch', 但是没有 'try'Error:(14, 11) java: 有 'finally', 但是没有 'try'
从运行结果来看,我们的catch-finally代码块不能组合在一起。
7.try-catch-finally代码块
我们来看看try-catch-finally代码块组合。
演示:
请定义try-catch-finally代码块。
请观察程序运行结果。
代码:
Main类:
结果:
从运行结果来看,我们的try-catch-finally代码块可以组合在一起。
总结
- try代码块不能单独出现。
- catch代码块不能单独出现。
- finally代码块不能单独出现。
- try-catch代码块可以组合。
- try-finally代码块可以组合。
- catch-finally代码块不能组合。
- try-catch-finally代码块可以组合。
至此,Java中try-catch-finally组合方式相关内容讲解先告一段落,更多内容请持续关注。
答疑
如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。
上一章
“全栈2019”Java异常第六章:finally代码块作用域详解
下一章
“全栈2019”Java异常第八章:throw关键字详解
学习小组
加入同步学习小组,共同交流与进步。
- 方式一:关注头条号Gorhaf,私信“Java学习小组”。
- 方式二:关注公众号Gorhaf,回复“Java学习小组”。
全栈工程师学习计划
关注我们,加入“全栈工程师学习计划”。
版权声明
原创不易,未经允许不得转载!