本来初学 Java,下面是关于异常处理例子。当输入非零数字时,为何 finally 之后的语句 System.out.println("这是一个测试字符串!") 仍然会被执行? 源代码: import java.io.*; public class TestException3 { public static void main(String[] args) { int x,y,result; x=5; int a[]={0}; try { InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println("输入除数: "); y=Integer.parseInt(input.readLine()); result=x/y; System.out.println("result= "+result); a[10]=5; System.out.println("发生异常时不会被执行的语句!"); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("对数组越界已经进行了处理!"); } catch(ArithmeticException e) { System.out.println("对算术异常已经进行了处理!"); } catch(Exception e) { System.out.println(e.toString()); System.out.println("对异常已经进行了处理!"); return; } finally { System.out.println("finally 语句得到执行!"); } System.out.println("这是一个测试字符串!"); } }