java的try catch语句问题try{语句1;语句2;语句3;}catch{语句4;}如果语句1有错则跳到语句4执行,那么处理完语句4后,语句2、3还能否被执行?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 00:55:08
java的try catch语句问题try{语句1;语句2;语句3;}catch{语句4;}如果语句1有错则跳到语句4执行,那么处理完语句4后,语句2、3还能否被执行?
java的try catch语句问题
try
{
语句1;
语句2;
语句3;
}
catch
{
语句4;
}
如果语句1有错则跳到语句4执行,那么处理完语句4后,语句2、3还能否被执行?
java的try catch语句问题try{语句1;语句2;语句3;}catch{语句4;}如果语句1有错则跳到语句4执行,那么处理完语句4后,语句2、3还能否被执行?
肯定不会啦.
说一下try catch 和finally到底怎么回事!
try catch 成对出现的,一个try就一定要有catch,被try包裹的代码说明,如果这些代码中只要抛出异常的话,就会停止当前的代码运行,而跳到catch中,对于异常进行处理.
而finally呢,他是一个比较特殊的东西,finally中的代码无论出现说明状况都会运行到.即使出现异常.所以finally一般都是处理对资源的释放等操作.
try{
go(); //假设在调用go方法的时候发生的异常
return “hello”; //这个return语句都是无法执行到的.
}catch(Exception e){
System.out.println("发生的异常了!");
}finally{
System.out.println("这里释放数据库连接!");
}
可以看到,当发生异常的时候,发生异常一下的代码都是无法执行到的.运行会跳到catch中,处理这个异常,之后进入finally中.
try{
go();
return “hello”; //这个return语句都是无法执行到的.
}catch(Exception e){
System.out.println("发生的异常了!");
}finally{
System.out.println("这里释放数据库连接!");
}
同样的代码,try中没有发生异常,所以catch中的代码是执行不到的,但是看到go方法下面的那个return了没,那么finally中的代码还会执行到吗?
答案是:能,一定会执行到.即使try中已经有了return.
你可以试一试!
现在稍稍明白了些吧!