稍微将你的程序改动:
public class ExceptionTest
{
public void method()
{
try
{
System.out.println("进入到try块");
System.out.println(5/0); //让程序出现java.lang.ArithmeticException: / by zero异常
return;
}
catch(Exception ex)
{
System.out.println("异常发生了");
}
finally
{
System.out.println("进入到finally块");
}
System.out.println("异常处理后续的代码");
}
public static void main(String[] args)
{
ExceptionTest test = new ExceptionTest();
test.method();
}
}
输出结果:
进入到try块
异常发生了
进入到finally块
异常处理后续的代码
调用test.method()方法,执行try代码块,首先打印输出“进入到try块”,但执行到System.out.println(5/0); 发生了java.lang.ArithmeticException: / by zero异常,并抛出;由catch(){}捕获异常,并进行相应的处理,打印输出“异常发生了”;异常处理完成后,继续执行finally代码块,打印输出“进入到finally块”;整个try{}catch(){}finally{}异常抛出、捕获、处理结束、执行finally后,程序继续往下执行,打印输出“异常处理后续的代码”,test.method()执行结束。