各位大虾:
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吗?
谢谢
解决方案 »
- 求科大恒星、讯飞的笔试题和心得
- 谁发我个head first Java中文清晰版pdf(全的要)
- 请高手帮我看一下,能不能帮我把这段代码改成JAVA,主要是指针不知道,谢谢!
- 连接数据库异常 自己琢磨了一小时无法解决 请教高手
- 有PostgreSQL高手吗?请教一下做数据插入的时候如何得到键重复错误?
- 有个线程的例子和预期的不一样,大家看看
- ■■Java暂时没有泛型,如何聪明的解决多类型问题???■■
- 请问如何将swing生成的Dialog窗口的左上方的小图标去掉?
- 注释文档和classpath
- java程序无法编译和运行
- 调用外部程序的问题
- 奇怪,在网上找到的水晶报表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都会执行。