tyr{} catch(){} finally
try{
int i = 100 / 0;
System.out.print(i);
}catch(Exception ex){
System.out.println(1);
throw new RuntimeException();
}finally{
System.out.println(2);
}
System.out.println(3)
-
try{}中的语句有异常,则try中该异常语句后面的语句不再执行;
-
throw语句的作用是把异常抛给上一级,如果语句中有throw则除了finally{}内语句需要执行外,其他语句不再执行.
结果为 12
Demo2
try{
if(i == 1)
throw new Exception();
}catch(Exception ex){
System.out.println(2);
return;
}finally{
System.out.println(3);
}
System.out.println(4)
当i=0时
-
try{}无异常,不执行catch(){}。
-
不执行throw语句,意味着除了try{}catch(){}finally{}语句外的其他语句也会执行,finally语句必须执行。
结果为34
当i=2时
-
try{}有异常,执行catch(){}。 输出3
-
执行throw语句,意味着除了finally{}中语句必须执行外,其他语句不执行。
结果为23