关于Java异常处理中的try、catch、finally
2021/6/3 1:20:56
本文主要是介绍关于Java异常处理中的try、catch、finally,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
各自用法
try块:包含可能会有异常发生的代码
catch块:当有异常发生的时候才会执行
finally块:无论是否有异常发生都会执行
基本格式
try { //可能会有异常发生的代码 }catch(Exception e) { // 当有异常发生的时候,catch块被执行 }finally { //不管异常是否发生都要执行 }
无异常情况下的执行情况
无异常时的代码如下
try { int a=10; int b=2; int c=a/b; System.out.println("运行try块"); }catch(Exception e) { System.out.println("运行catch块"); }finally { System.out.println("运行finally块"); }
执行结果如下图
结论
当代码无异常时运行try块和finally块内的内容,不执行catch块内的内容。
出现异常情况下的执行情况
出现异常时的代码如下
try { int a=10; int b=0; int c=a/b; System.out.println("运行try块"); }catch(Exception e) { System.out.println("运行catch块"); }finally { System.out.println("运行finally块"); }
执行结果如下图
结论
当代码出现异常时运行catch块和finally块内的内容,不执行try块内的内容。
无异常情况下try和catch的执行顺序
代码无异常的情况下,在try块、catch块中各添加一个return语句,代码如下
try { int a=10; int b=2; int c=a/b; return "运行try块"; }catch(Exception e) { return "运行catch块"; }
执行结果如下图
结论
当存在return语句时,代码无异常的情况下返回的是try块的内容,即执行的是try块,不执行catch块
出现异常情况下try和catch的执行顺序
代码有异常的情况下,条件同上,代码如下
try { int a=10; int b=0; int c=a/b; return "运行try块"; }catch(Exception e) { return "运行catch块"; }
执行结果如下图
结论
当存在return语句时,代码出现异常的情况下返回的是catch块的内容,即执行的是catch块,不执行try块
在有、无异常情况下try、catch和finally的执行顺序
在代码无异常和有异常两种情况下,在try块、catch块和finally中各添加一个return语句,代码如下
//代码无异常 try { int a=10; int b=2; int c=a/b; return "运行try块"; }catch(Exception e) { return "运行catch块"; }finally { return "运行finally块"; }
//代码有异常 try { int a=10; int b=0; int c=a/b; return "运行try块"; }catch(Exception e) { return "运行catch块"; }finally { return "运行finally块"; }
在有、无异常出现的执行结果为同一结果
结论
当try、catch、finally块同时存在return语句时,无论是否出现异常,返回的都是finally块的内容,即只执行了finally块内的return
总结
- try块中有return关键字时,如没有finally,则直接返回
- try块和catch块中都有return关键字时,无异常走try的return,有异常则走catch的return
- 当try、catch、finally块中都有return关键字时,无论是否出现异常,返回的都是finally块的return
这篇关于关于Java异常处理中的try、catch、finally的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南