JavaのFinallyのいくつかの詳細
2160 ワード
このブログの例は『コード出高効率Java開発マニュアル』から来ており、この本は確かに読みやすい.細部が多い.
コード1を見てみましょう.
コード1を見てみましょう.
public class TryCatchFinally {
public static void main(String[] args) {
int temp = finallyNotWork();
System.out.println(temp);
}
public static int finallyNotWork(){
int temp =10000 ;
try {
throw new Exception();
}catch (Exception e){
return ++temp ;
}finally {
temp =99999;
System.out.println(temp);
}
}
}
:
99999
10001
,finally 。 main temp 10001, ,finally return 。①、 , , catch , return ++temp(10001) 。② finally , temp 99999,③ finally 10001, 99999。 temp , 99999.
:
public class TryCatchFinally {
static int x =1 ;
static int y =10 ;
static int z =100 ;
public static void main(String[] args) {
int value = finallyReturn();
System.out.println("value = " + value);
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("z = " + z);
}
private static int finallyReturn() {
try {
return ++x ;
}catch (Exception e){
return ++y ;
}finally {
return ++z ;
}
}
}
:
value = 101
x = 2
y = 10
z = 101
return ++x ; , finally return 。 finally return, ++z , 101 。 x , ++x , 2 。
:
finally , , , 。 finally return , , , finally return 。