Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java是业界标准的试用资源_Java_Try Catch - Fatal编程技术网

java是业界标准的试用资源

java是业界标准的试用资源,java,try-catch,Java,Try Catch,与以其他方式关闭资源相比,尝试使用资源是否存在任何陷阱?或者资源试用是实现试用的首选方法 InputStream stream = new MyInputStream(...); try { // ... use stream } catch(IOException e) { // handle exception } finally { try { if(stream != null) { stream.close();

与以其他方式关闭资源相比,尝试使用资源是否存在任何陷阱?或者资源试用是实现试用的首选方法

InputStream stream = new MyInputStream(...);
try {
    // ... use stream
} catch(IOException e) {
   // handle exception
} finally {
    try {
        if(stream != null) {
            stream.close();
        }
    } catch(IOException e) {
        // handle yet another possible exception
    }
}
您是否看到需要在
finally
块中实现嵌套的try-catch。 为了避免这项繁琐的工作,我们可以使用try-with-resources

try (InputStream stream = new MyInputStream(...)){
    // ... use stream
} catch(IOException e) {
   // handle exception
}
要更具体地回答您的问题,,请尝试使用资源是最有效、最简单的方法,并根据行业标准得到广泛使用


注意:该代码仅用于描述一种情况以支持我的回答。

如果没有可靠的统计数据,你的标题问题毫无意义,但这肯定是最好的方式。标题更像是开玩笑。感谢您的回复。当然还有其他方法,我们已经用其他方法做了15年了(用Java),但是,以我个人的经验,try-with-resources明显更简单、更健壮,而且我使用了Java7的所有特性之一time@Schrodinger您不能将其用于未实现自动关闭的对象,因此如果API最终使用断开连接来关闭,您仍然需要使用旧方法。@Shail016谢谢,这就是我想要的澄清。我不太明白为什么这个问题被认为是基于意见的,而你已经给出了一个可量化的答案