【发布时间】:2013-02-25 07:06:07
【问题描述】:
我正在尝试编写一个返回文件输入流的函数。它看起来像这样:
public FileInputStream getFileInputStream() {
File file;
try {
file = new File("somepath");
} catch (Exception e) {
}
FileInputStream fInputStream = new FileInputStream(file);
return fInputStream;
}
所以这是我的问题 - 显然在出现异常的情况下不会创建文件。但我需要一个文件对象来实例化 FileInputStream。我有点迷路了,如何在仍然返回有效的 FileInputStream 对象的同时处理异常?
【问题讨论】:
-
所有受到异常行为影响的东西都应该包装在
try...catch块中。这样可以缓解您的问题。 -
new File("somepath")永远不会抛出异常(尽管理论上它可能会抛出错误)。你为什么trying它? -
@cheeken 是对的 - 创建文件可能产生的唯一异常是 NullPointerException,并且可以通过使用静态字符串作为构造函数来缓解。