“全栈2019”Java异常第七章:try-catch-finally组合方式

193 阅读4分钟
原文链接: www.toutiao.com

难度

初级

学习时间

10分钟

适合人群

零基础

开发语言

Java

开发环境

  • JDK v11
  • IntelliJ IDEA v2018.3

友情提示

  • 本教学属于系列教学,内容具有连贯性,本章使用到的内容之前教学中都有详细讲解。
  • 本章内容针对零基础或基础较差的同学比较友好,可能对于有基础的同学来说很简单,希望大家可以根据自己的实际情况选择继续看完或等待看下一篇文章。谢谢大家的谅解!

1.try代码块

首先,我们来看看try代码块能不能单独存在。

演示:

请定义try代码块。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

错误信息:

“全栈2019”Java异常第七章:try-catch-finally组合方式

文字版:

/Users/admin/Workspace/Java/Hello/src/main/Main.javaError:(11, 9) java: 'try' 不带有 'catch', 'finally' 或资源声明

从运行结果来看,我们的try代码块不能单独出现。

2.catch代码块

我们来看看catch代码块能不能单独存在。

演示:

请定义catch代码块。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

错误信息:

“全栈2019”Java异常第七章:try-catch-finally组合方式

文字版:

/Users/admin/Workspace/Java/Hello/src/main/Main.javaError:(11, 9) java: 有 'catch', 但是没有 'try'

从运行结果来看,我们的catch代码块不能单独出现。错误信息里面说的也很清楚,有catch但是没有try。

3.finally代码块

我们来看看finally代码块能不能单独存在。

演示:

请定义finally代码块。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

错误信息:

“全栈2019”Java异常第七章:try-catch-finally组合方式

文字版:

/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类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

从运行结果来看,我们的try-catch代码块可以组合在一起。

5.try-finally代码块

我们来看看try-finally代码块组合。

演示:

请定义try-finally代码块。

请观察程序运行结果。

代码:

Main类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

从运行结果来看,我们的try-finally代码块可以组合在一起。

上面是try代码块里面没有发生异常情况,如果try代码块里面发生异常呢?

“全栈2019”Java异常第七章:try-catch-finally组合方式

运行程序,执行结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

错误信息:

“全栈2019”Java异常第七章:try-catch-finally组合方式

文字版:

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类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

错误信息:

“全栈2019”Java异常第七章:try-catch-finally组合方式

文字版:

/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类:

“全栈2019”Java异常第七章:try-catch-finally组合方式

结果:

“全栈2019”Java异常第七章:try-catch-finally组合方式

从运行结果来看,我们的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学习小组”。

全栈工程师学习计划

关注我们,加入“全栈工程师学习计划”。

“全栈2019”Java异常第七章:try-catch-finally组合方式

版权声明

原创不易,未经允许不得转载!