????Java?械?try-catch-finally????return
???????????? ???????[ 2012/8/20 10:32:02 ] ????????
?????????return???????????????????????finally???????return????????finally??return??????????????妫�???finally??泻???????
?????????finally???娌�?????return????????????return?????????try??catch??????????????械??????????
????1??return????????????????巍?
????2??return??????try??catch???娑�?????
????3??return??????try?????????????
????4??return??????catch?????????????
???????????????????????????????械?????????????
??????1????????????械?try???????????????????梅???2???????????????test0_1????????????校?????2??4??????械?????????????2????
??????2????????????械?catch??????????????????????????泻??????????????????4???????????????械?test0?????????????????校??????????4??
??????3????????????械?try??catch????????????泻???????????????1?????????????test0_2?????????????梅???1????
????????????????
public class Test {
public static void main(String[] args) {
System.out.println("=============test1==================");
System.out.println(test1());
System.out.println("===============================");
System.out.println("=============test1_1==================");
System.out.println(test1_1());
System.out.println("===============================");
System.out.println("
============test2===================");
System.out.println(test2());
System.out.println("===============================");
System.out.println("
============test2_1===================");
System.out.println(test2_1());
System.out.println("===============================");
System.out.println("
============test3===================");
System.out.println(test3());
System.out.println("===============================");
System.out.println("
============test3_1===================");
System.out.println(test3_1());
System.out.println("===============================");
}
public static String test0() {
String a;
int b;
try{
b = 8/0;
}catch(Exception e){
return null;
}
a = String.valueOf(b);
return a+b;
}
public static String test0_1() {
String a;
int b;
try{
b = 8/0;
a = String.valueOf(b);
return a+b;
}catch(Exception e){
return null;
}
//return a+b;
}
public static String test0_2() {
String a;
int b=0;
try{
b = 8/0;
}catch(Exception e){
}
a = String.valueOf(b);
return a;
}
public static String test1() {
String a = "in try";
int n = -1;
try{
return a+n; //???????????????finally
} catch ( Exception e ) {
} finally {
//??String??int????????效
a = "in finally";
n = 123;
System.out.println("do finally");
}
return a; //???????
} //???????return???????????????????????finally???????return????????finally
public static String test1_1() {
String a = "in try";
try{
return a;
} catch ( Exception e ) {
} finally { //??eclpise????????????finally???娌�??????return???
a = "in finally";
System.out.println("do finally");
return a; //???????eclipse?????????
}
}
public static int test2() {
int a = 1;
try{
return a;
} catch ( Exception e ) {
} finally {
a = 2;
System.out.println("do finally");
}
return a;
} //???????finally?????????效?????????a=1
public static int test2_1() {
int a = 1;
try{
return a;
} catch ( Exception e ) {
} finally {
a = 2;
System.out.println("do finally");
return a;
}
} //???????a?finally????????a=2
//Helper??????????????????
static class Helper {
int a;
public String toString() {
return String.valueOf(a);
}
}
public static Helper test3() {
Helper h = new Helper();
h.a = 1;
try{
return h;
} catch ( Exception e ) {
} finally {
h.a = 2; //??h.a???????????!!
//?????try???娣�??????????????????????????? ????????
System.out.println("do finally");
}
return h; //??????????
}
public static Helper test3_1() {
Helper h = new Helper();
h.a = 1;
try{
return h;
} catch ( Exception e ) {
} finally {
h.a = 2; //????a=2????????????
System.out.println("do finally");
return h;
}
}
/**
* ???
* return???finally???娌�?????return???????????????????try??catch????
*
*/
}
??????

???路???
??????????????????
2023/3/23 14:23:39???写?貌??????????
2023/3/22 16:17:39????????????????????些??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???路???????路
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11