各位大虾:
try
{
try
{
...//code2
}catch(Exception e)
{
...
}finally
{
System.out.println("error 2");
}
}catch(Exception e)
{
...
}finally
{
System.out.println("error 1");
} 这是个简单的嵌套,我想知道:如果code2部分代码出现异常,控制台肯定能打印 error 2,但外层的finally部分代码会执行吗?此处会打印error 1吗?
谢谢
try
{
try
{
...//code2
}catch(Exception e)
{
...
}finally
{
System.out.println("error 2");
}
}catch(Exception e)
{
...
}finally
{
System.out.println("error 1");
} 这是个简单的嵌套,我想知道:如果code2部分代码出现异常,控制台肯定能打印 error 2,但外层的finally部分代码会执行吗?此处会打印error 1吗?
谢谢
解决方案 »
- 一道算法问题
- 按钮前景色设置
- 比如班级号049101,在其后面加学生号如:04910101,04910102....后面2位数中递增.后面两为99后不能在加,怎么写代码判断数据库里(mysql)的
- 进来帮小弟一下
- 帮忙整整,实在不知道怎么整了,关于JavaScript和数据库的问题进行联动的
- 急:事务不回滚,是什么问题?
- 关于网络超时处理~~~ 小弟有难~
- 学JAVA一定要有C语言基础吗!!!
- check the best java forum I've ever seen!!!
- jbuilder4 太慢了!!!!
- 调用外部程序的问题
- 奇怪,在网上找到的水晶报表9.2中文版,都没有report application server和Crystal Reports Advanced Developer Edittion两部分,而我正
也就是说会打印出 error 1?
看来 grant999(民) 的答案和别人的都不一样
(1)如果内层发生异常,那么将由内层的catch进行捕获, 此时内层的catch和内层的finally和 外层的finally都会执行,而外层的catch则不会执行。而如果内层不能捕获,则内层的 finally还是会执行而且外层的catch和finally都会执行。(2)如果外层发生异常,则外层的catch和finally都会执行。