话不多说,直接上代码
Demo.java
package com.ysdwl.test;
public class Demo {
public static String test(int i) {
int[] str ={0,1,2,3};
try {
i++;
System.out.println(str[i]);
return 1+"try";
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("一");
}
catch (Exception e) {
System.out.println("二");
}
finally{
System.out.println("三");
}
System.out.println("四");
return 0+"";
}
public static void main(String[] args) {
System.out.println(test(0));
System.out.println("------------华丽分割线------------");
System.out.println(test(4));
}
}
运行结果:
说明:try-catch-finally中,finally中的代码是不论什么时候都会执行的,即使是在try-catch块中有return,上例中,try块中执行完System.out.println(str[i]);下一个执行的是finally里面的代码System.out.println(“三”);finally里面的代码执行结束才会执行try块中的return 1+”try”;
完结 2017年8月22日