有没有因为try catch +return被面试官为难过,来吧,武器在这里,需要的来取吧!
关于try catch +return的一些面试题的总结,希望能帮到大家.感觉学完这些之后就没有什么try catch 的题能难倒自己了!
直接上干货....
干货 1 :
public static int method_1() {
int a = 1;
try {
return a;
} catch (Exception e) {
System.out.println("11");
} finally {
++a;
return a;
}
}
答案是: 2
干货2:
public static int method_2() {
int a = 1;
try {
int u=1/0;
return a;
} catch (Exception e) {
System.out.println("11");
} finally {
++a;
return a;
}
}
答案是 : 11 2
干货3:
public static int method_3() {
int a = 1;
try {
int u=1/0;
return a;
} catch ( Exception e) {
System.out.println("11");
return a;
} finally {
++a;
}
}
答案是 : 11 1
干货4:
public static int method_4() {
int a = 1;
try {
return a;
} catch (Exception e) {
System.out.println("11");
} finally {
++a;
}
return a;
}
答案是 : 2
干货5:
public static int method_5() {
int a = 1;
try {
int u=1/0;
return a;
} catch (Exception e) {
System.out.println("11");
return a+1;
} finally {
++a;
System.out.println("22");
}
}
答案是 : 11 22 2
做了以上几道题什么感觉呢,是不是好坑啊,和自己想的不一样呢.给大家来一段神的总结!
/**
* try catch
*
* try 里面的return可以返回但不能结束方法.
*
* catch ,finnally ,或者正常的return才可以结束本方法.
*
* 因为finnally始终要执行,所以当catch和finnally里都有return ,catch里的这个return不结束方法
*/
接下来看看你领悟了多少,小试牛刀一下下了
干货6:
public static int method_6() {
int a = 1;
try {
int u=1/0;
return a;
} catch ( ArithmeticException e) {
System.out.println("11");
return a+1;
} catch (Exception e) {
System.out.println("22");
return a;
}finally {
++a;
}
}
答案是 : 11 2
干货7:
public static int method_7() {
int a = 1;
try {
int u=1/0;
return a;
} catch ( NullPointerException e) {
System.out.println("11");
return a+1;
} catch (Exception e) {
System.out.println("22");
return a;
}finally {
++a;
}
}
答案是 : 22 1
是不是很有收获的赶脚. 那是必须的,结论先用着哈,具体原理请看续集.. ...谢谢关注我哦