gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 01:01:41 27 4
gpt4 key购买 nike

在我的一个 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com