【发布时间】:2015-06-21 19:37:48
【问题描述】:
class Demo
{
public static void main(String args[]) throws java.io.IOException
{
try(FileInputStream fin = new FileInputStream("Demo.txt"))
{
//This block is executed successfully
}
System.out.println("Will it be executed if error occurs in try clause");
}
}
假设try block中的代码如代码所述执行成功,而try with resource clause中出现了一些exception,则说明文件的auto closing出现异常。
try with resource clause 中的异常将如何处理?
我想问的是,那个异常会不会被抛出到JVM,会突然终止我的程序,而println语句不会被执行?
我可以捕获那个异常,以便剩余的程序也可以执行吗?
【问题讨论】:
-
你为什么不自己尝试一下?
-
一个
finally子句在这里工作 -
@Turing85 :我不知道如何让
try with resources clause抛出异常。 -
是的,异常会被抛出到JVM,如果你不捕捉它会终止我的程序
-
@ValentinRuano :我也猜到了,但有没有其他解决方案。因为
try block后面的代码可能很大,所以把整个代码放在finally block里面是不划算的。
标签: java ioexception try-with-resources