#2
mysqlz2023-06-07 20:33
|
本来初学Java,下面是关于异常处理例子。当输入非零数字时,为何finally之后的语句System.out.println("这是一个测试字符串!")仍然会被执行?
源代码:
import *;
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("这是一个测试字符串!");
}
}