问题标签 [try-with-resources]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
35654 浏览

kotlin - 在 Kotlin 中试用资源

当我尝试在 Kotlin 中编写等效于 Java 的try-with-resources 代码时,它对我不起作用。

我尝试了以下不同的变体:

但两者都不起作用。

有谁知道应该改用什么?显然,Kotlin 语法没有对这种结构的定义,但也许我遗漏了一些东西。它定义了 try 块的语法如下:

0 投票
1 回答
5228 浏览

java - Try-with-resources 关闭生成的孩子的套接字

我想编写一个简单的服务器来侦听端口并生成新线程来处理新连接。我尝试使用try-with-resources来接受新连接,但失败了,因为子线程中的套接字似乎立即关闭,我不明白为什么。

这里有 2 个简化的例子。
a)服务器的工作示例(没有try-with-resources):

b) 完全相同,但使用 try-with-resources(不起作用):

a) 中的示例按预期工作。b) 中的示例接受连接但立即关闭它。有人可以向我解释为什么并告诉我如何正确地做到这一点吗?

0 投票
2 回答
380 浏览

java - 如果发生异常,try-with-resources 会关闭资源吗?

如果发生异常,try-with-resources 会关闭所有打开的资源吗?

0 投票
2 回答
173 浏览

java - 为什么即使永远不会抛出 IOException 也可以在 java 7 中捕获 IOException

和主要课程

但是,当我在 SampleCloseable 内的 close() 方法上删除 throws 异常时,我收到一个编译器错误,指出 IOException 永远不会在相应的 try 块中引发。

0 投票
1 回答
244 浏览

java - 语句上的 try-with-resources 是否会关闭连接?

在这段代码中,连接会被关闭吗?

我的代码中的某些内容意外关闭了连接,我想确保它不是这个。

0 投票
2 回答
382 浏览

java - 尝试访问匿名内部类中的 try-with-resouce 资源时引发异常

我正在做一个项目,用我的数据库中的数据填充一个表。我正在使用 try-with-resources 语句,因为我希望在离开我的语句后关闭我Connection的 、Statement和对象。在我的块中,我声明了一个使用匿名内部类的对象,该对象使用数据库中的数据填充表。ResultSettry-with-resourcestryJTable

问题:java.sql.SQLException: Operation not allowed after ResultSet closed从匿名内部类中的任何方法获取,这些方法试图访问 try-with-resources 括号内的资源。

问题:我需要做什么或改变什么,以便我的资源可以被try-with-resources声明中的匿名内部类访问

0 投票
1 回答
223 浏览

java - 尝试使用资源:关闭 TWR 块中的资源时资源泄漏

我读到我们不需要显式关闭资源,它将由 java 本身关闭,假设我编写了代码。

FileInputStream 将自动关闭,如果在关闭时产生错误,它将抑制该表达式。

那么如果在关闭 FileInputStream 时抛出异常,由于异常会被抑制,所以资源没有关闭,会不会产生资源泄漏?

0 投票
1 回答
333 浏览

java - .NET 的 using-Statement 和 Java 的 try-with-ressources 之间的区别

我在学校学习了 C#,现在我开始学习 Java。

在 Java 中有“try with ressources”,它会在不再使用时关闭/处理东西(如扫描仪)。

等效的 C# 是 using-Statement,它的作用基本相同。

它们真的完全一样吗,或者有什么不同(比如他们在后台做什么)?

0 投票
2 回答
3153 浏览

java - 在 Java7 之后将 ResultSet 放入嵌套的 try-with-resources 语句中是一种好习惯吗?

根据http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#close()的文档,

当 Statement 对象关闭时,其当前的 ResultSet 对象(如果存在)也将关闭。

但是根据是否必须单独关闭 JDBC 结果集和语句,尽管随后关闭了连接?Connection Statement, 明确关闭和似乎是一个好习惯ResultSet

如果我们仍然需要 close ResultSet,我们可能需要一个嵌套的 try-with-resources 语句,因为我们可能会Statement像这样设置参数:


问题:

是否将 ResultSet 放入一个单独的 try-with-resources 语句中,因为文档声明关闭Statement将关闭 ResultSet

0 投票
0 回答
550 浏览

filenotfoundexception - 尝试使用资源打印机

我正在尝试学习如何使用资源。首先,我尝试将 java.io.File myFile = new java.io.File(filename) 放在资源括号中,但 netbeans 告诉我它不可自动关闭。我是否正确处理了这个异常?我的印象是异常将在我定义文件类对象的行中生成。