trycatch中使用return
时间: 2023-11-13 21:52:45 浏览: 87
在try-catch中使用return语句有以下几种情况:
1. 如果finally语句块中有return语句,且在finally语句块外面也有return语句,编译会出现错误。此时,当try语句块中出现return语句时,会先执行finally语句块的return语句,然后不再执行finally语句块后面的语句。
2. 如果finally语句块中有return语句,但在finally语句块外面没有return语句,则会执行finally语句块的return语句,得到返回值。
3. 如果finally语句块中没有return语句,则try语句块中的return语句可以正常执行,返回try语句块中定义的返回值。
相关问题
try catch中有return
在try catch中使用return语句有一些需要注意的情况。根据提供的引用内容,有以下几种情况:
1. 如果finally语句块中有return语句,则会将try中的return语句"覆盖"掉,直接执行finally中的return语句,得到返回值,这样无法得到try之前保留好的返回值。
2. 当finally语句块中有return语句时,并且在finally语句块外还有return语句时,编译会出现错误(对于返回值为基本数据类型的情况)。当try语句块中出现return语句时,执行完finally语句后会执行try中的return语句,不会执行finally语句块后面的语句。
3. 对于返回值为引用类型的情况,必须在catch语句中写return语句。
综上所述,在try catch中使用return语句需要注意以上情况。具体应根据代码逻辑和需求来选择合适的使用方式。
trycatch语句中return
引用[1]: 当finally语句块中有return语句时,并且在finally语句块外面还有return语句时,这个时候编译不通过,编译会出现错误(对于返回值为基本数据类型的情况)。当try语句块中出现return语句时,执行完finally语句的时候便会执行try中的return语句,这个时候便不会在执行finally语句块后面的语句了(返回值是基本数据类型的时候是这样)。当是引用类型的时候又会出现新的情况(引用类型必须在catch语句中写return语句)。[1]
引用[3]: 在try-catch语句中,如果在try语句块中出现了return语句,那么在执行完finally语句块后,会执行try语句块中的return语句。这适用于返回基本数据类型的情况。但是对于引用类型,必须在catch语句中写return语句,否则编译会报错,因为引用类型不能将空或null转换成所需的类型。[3]
综上所述,无论是基本数据类型还是引用类型,在try-catch语句中,如果在try语句块中出现了return语句,那么在执行完finally语句块后,会执行try语句块中的return语句。对于引用类型,必须在catch语句中写return语句,否则编译会报错。
阅读全文