trycatch语句中return
时间: 2023-08-19 10:10:12 浏览: 87
try~catch~finally中关于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语句,否则编译会报错。
阅读全文