try...catch...finally面试题
程序员文章站
2024-03-20 18:45:58
...
public static void main(String[] args) {
int x=getNumber();
System.out.println(x);
}
public static int getNumber() {
int num=10;
try {
int n=10/0;
return num++;
} catch (Exception e) {
return num++;
}finally {
//num=100;
num++;
System.out.println(num+"......");
}
}
面试:try-catch块中存在return语句,是否还执行finally块,如果执行,说出执行顺序?求最后打印的x值是多少?10
- (1)try和catch中可以包含return;没有异常返回try中的return,出现异常返回catch中return
- (2)不管有没有发生异常,finally都会执行。执行顺序:没有异常,执行完finally再执行try中的return,有异常,执行finally再执行catch中的return。
- (3)finally中是否可以包含return? 可以,会导致程序提前结束返回结果。
推荐阅读