我有以下Java类,可以做一件事,从中激发出值config.properties
。
当需要关闭时fileInputStream
,我想我在Wikipedia上读到,最好将它放在finally块中。因为它确实可以在try /
catch块中正常工作。
您能告诉我更正以进入fileInputStream.close()
最后一节吗?
ConfigProperties.java包基础;
import java.io.FileInputStream;
import java.util.Properties;
public class ConfigProperties {
public FileInputStream fileInputStream;
public String property;
public String getConfigProperties(String strProperty) {
Properties configProperties = new Properties();
try {
fileInputStream = new FileInputStream("resources/config.properties");
configProperties.load(fileInputStream);
property = configProperties.getProperty(strProperty);
System.out.println("getConfigProperties(" + strProperty + ")");
// use a finally block to close your Stream.
// If an exception occurs, do you want the application to shut down?
} catch (Exception ex) {
// TODO
System.out.println("Exception: " + ex);
}
finally {
fileInputStream.close();
}
return property;
}
}
解决方案是否仅按照Eclipse的建议执行,并在finally块中执行?
finally {
try {
fileInputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
因为FileInputStream.close()
抛出IOException,并且finally
{}块不捕获异常。因此,您需要捕获它或对其进行声明才能进行编译。Eclipse的建议很好。在finally {}块中捕获IOException。
问题内容: 根据Java语言规范的第§14.20.2节 通过首先执行try块来执行带有finally块的try语句。然后有一个选择: 如果try块的执行正常完成,则执行finally块,然后可以选择: 如果finally块正常完成,则try语句正常完成。 如果finally块由于原因S突然完成,则try语句由于原因S突然完成 如果我正确地解释了它,那么在执行try块之后最终会被调用,但是所有这些如
本文向大家介绍说明PowerShell中的Try / Catch / Finally块,包括了说明PowerShell中的Try / Catch / Finally块的使用技巧和注意事项,需要的朋友参考一下 PowerShell中的Try / Catch块用于处理脚本中产生的错误。具体而言,错误应该是终止错误。在最后在PowerShell中块不是强制性的,每次沿写try / catch语句,但它会
本文向大家介绍try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?相关面试题,主要包含被问及try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?时的应答技巧和注意事项,需要的朋友参考一下 finally 一定会执行,即使是 catch 中 return 了,catch 中的 return
在实际开发中,根据 try catch 语句的执行过程,try 语句块和 catch 语句块有可能不被完全执行,而有些处理代码则要求必须执行。例如,程序在 try 块里打开了一些物理资源(如数据库连接、网络连接和磁盘文件等),这些物理资源都必须显式回收。 Java的垃圾回收机制不会回收任何物理资源,垃圾回收机制只回收堆内存中对象所占用的内存。 所以为了确保一定能回收 try 块中打开的物理资源,异
但测试失败..为什么?(因为我的接球盖帽里没有投球)。但我不想扔任何东西,我只想它有能力去接住。那么有没有可能进行测试呢?
是否有像java try catch finally这样的linux bash命令?还是linux shell总是在运行?