package combaidu;
public class TestTryCatch {
static int doMethod1() { // 11
int a = 10;
try {
a++;
} finally {
return a;
}
}
// =================================================================
static int doMethod2() { // 10
int a = 10;
try {
return a; // @AfterReturn
// 两个步骤(
// 步骤一获取a的值,存储a的值给给临时变量temp
// 步骤二返回临时变量temp的值(finally执行结束执行))
} finally { // @After
System.out.println("doMethod2()...");
a++;
}
}
// ============================================================
static int doMethod3() {
int a = 10;
try {
// 故意试错,大家可以Debug F5,F6,F7测试前后顺序
int b = a / 0; // 1............
return a;// @AfterReturn
// 两个步骤(
// 步骤一获取a的值,存储a的值给给临时变量temp
// 步骤二返回临时变量temp的值(finally执行结束执行))
} catch (Exception e) {
throw new RuntimeException(e);
// @AfterThrowing
} finally {// @After
System.out.println("doMethod3()....");
a++;
}
}
// ======================================================
public static int doMethod4() { //20
try {
return 10;
} finally {
return 20;
}
}
// ======================================================
public static void main(String[] args) {
//int result = doMethod1();
//System.out.println("doMethod1..="+result);
int result1 = doMethod2();
System.out.println("doMethod2..="+result1);
// int result2 = doMethod3();
// System.out.println("doMethod3..="+result2);
//int result3 = doMethod4();
//System.out.println("doMethod4..="+result3);
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。