是否可以让Eclipse忽略错误“未处理的异常类型”?
在我的具体情况下,原因是我已经检查过该文件是否存在。因此,我认为没有理由加入try catch语句。
file = new File(filePath);
if(file.exists()) {
FileInputStream fileStream = openFileInput(filePath);
if (fileStream != null) {
或者我错过了什么?
答案 0 :(得分:6)
是否可以让Eclipse忽略错误“未处理的异常类型FileNotFoundException”。
没有。这将是无效的Java,Eclipse不允许您更改语言规则。 (你有时可以尝试运行不能编译的代码,但是它不会按照你想要的那样执行。你会发现当执行到达无效代码时会抛出UnresolvedCompilationError
。)
另请注意,仅仅因为当您调用file.exists()
时文件存在并不意味着当您尝试稍后打开它时仍然存在。它可能在此期间被删除了。
你可以做的是编写自己的方法来打开文件,如果文件不存在则抛出未经检查的异常(因为你对它有信心):
public static FileInputStream openUnchecked(File file) {
try {
return new FileInputStream(file);
} catch (FileNotFoundException e) {
// Just wrap the exception in an unchecked one.
throw new RuntimeException(e);
}
}
请注意,“unchecked”在这里并不意味着“没有检查” - 它只是意味着抛出的唯一异常将是未经检查的异常。如果你找到一个更有用的不同名称,那就去吧:)
答案 1 :(得分:4)
声明它throws Exception
或者直接尝试使用它
答案 2 :(得分:1)
这是先生:
try
{
file = new File(filePath);
if(file.exists()) {
FileInputStream fileStream = openFileInput(filePath);
if (fileStream != null) {
// Do your stuff here
}
}
}
catch (FileNotFoundException e)
{
// Uncomment to display error
//e.printStackTrace();
}
答案 3 :(得分:0)
你不能忽视它,因为它不是由于Eclipse,它是一个编译器错误,如果没有你的调用被包含在try / catch子句中,你的代码将无法编译。但是,您可以将catch块留空以忽略错误,尽管不建议使用...