在我的一个 Java 应用程序代码中,我有一个 try-catch-finally
try
所在的 block block 创建一些输入和输出流,如果出现问题,我将关闭所有先前打开的流 finally
.
finally
{
if(inputStream != null)
inputStream.close();
if(outputStream != null)
outputStream.close();
}
但是 <stream>.close()
Eclipse 中的行在该行的代码中显示错误“Unhandled exception IOException”,并显示解决方案是包含另一个 try/catch
在finally
作为一种编程习惯,这似乎是不好的 block ,我不想在 finally block 中。
我的问题是:是否可以在 Eclipse 中删除此错误并使用 try/catch
只有当我需要它而不是 eclipse 告诉我做 try/catch
添加。 (因为我已经尝试通过尽可能将 try/catch
替换为 if/else
来避免异常)。
最佳答案
这不是 Eclipse 错误,这是 Java 编译器错误。 Eclipse 只是为您报告 Java 编译错误。没有办法“关闭它”,因为没有 try/catch 子句代码无法编译。它是 Java 中的一项安全功能,可强制您处理通常抛出的异常。
方法的签名中有异常。例如,InputStream.close()抛出 IOException,迫使您在 try/catch block 中处理它。
public void close() throws IOException {
...
抛出异常是一种告诉程序发生了必须处理的重大问题的方式。
My question is: is it possible to remove this error in eclipse and use try/catch when I need it otherwise not instead of eclipse telling me to do try/catch add.
不,这是不可能的。
(Since I am already trying to avoid exception by replacing try/catch with if/else as possible).
您通常不应该尝试用 if/else
block 替换 try/catch
block 。它们是具有不同目的的两个截然不同的特征。
异常是 Java 的一项基本功能。 Read about it并理解它。
关于java - eclipse 要求我在 finally block 中用 try/catch 包围 - 可以禁用它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924444/