软件构造try语句总结

本文详细介绍了Java中try-catch-finally语句的使用规范,包括try块的必要性、catch和finally块的选择、多catch块的顺序以及finally块的执行情况。强调了无论是否抛出异常,finally块总会执行,除非使用System.exit()。同时阐述了三种执行情况:无异常、捕获异常和未捕获异常时的流程。
摘要由CSDN通过智能技术生成

软件构造try语句总结

使用 try-catch-finally 语句时需注意以下几点:

异常处理语法结构中只有 try 块是必需的,也就是说,如果没有 try 块,则不能有后面的 catch 块和 finally 块;
catch 块和 finally 块都是可选的,但 catch 块和 finally 块至少出现其中之一,也可以同时出现;
可以有多个 catch 块,捕获父类异常的 catch 块必须位于捕获子类异常的后面;
不能只有 try 块,既没有 catch 块,也没有 finally 块;
多个 catch 块必须位于 try 块之后,finally 块必须位于所有的 catch 块之后。
finally 与 try 语句块匹配的语法格式,此种情况会导致异常丢失,所以不常见。

try catch finally 语句块的执行情况可以细分为以下 3 种情况:

如果 try 代码块中没有拋出异常,则执行完 try 代码块之后直接执行 finally 代码块,然后执行 try catch finally 语句块之后的语句。
如果 try 代码块中拋出异常,并被 catch 子句捕捉,那么在拋出异常的地方终止 try 代码块的执行,转而执行相匹配的 catch 代码块,之后执行 finally 代码块。如果 finally 代码块中没有拋出异常,则继续执行 try catch finally 语句块之后的语句;如果 finally 代码块中拋出异常,则把该异常传递给该方法的调用者。
如果 try 代码块中拋出的异常没有被任何 catch 子句捕捉到,那么将直接执行 finally 代码块中的语句,并把该异常传递给该方法的调用者。

除非在 try 块、catch 块中调用了退出虚拟机的方法System.exit(int status),否则不管在 try 块或者 catch 块中执行怎样的代码,出现怎样的情况,异常处理的 finally 块总会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值