java - eclipse 要求我在 finally block 中用 try/catch 包围 - 可以禁用它吗?

标签 java eclipse

在我的一个 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/catchfinally作为一种编程习惯,这似乎是不好的 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/

相关文章:

java - 与 Netbeans 相比,使用 Tomcat 进行 Java EE 开发的更好的 IDE

java - 为整个 Eclipse GUI 换肤,而不仅仅是代码窗口

java - 我坚持尝试返回字符串的某个部分,因为它是一个变量

java - 如果 JSON 响应结果为 0/11,如何将用户发送到 servlet 内的 .html 页面

java - Eclipse Java 调试器 : easier way see values in the debugger that are in nested collections?

eclipse - 共享/导出 eclipse 工作集

java - 如何增长二维数组

java - 什么是 RMI TCP 连接

java - 将一个长字符串读入内存

eclipse - Tomcat7 在运行 jsp 文件时给出 HTTP 404 错误