try-with-resource不关闭套接字连接

时间:2018-05-28 05:36:21

标签: java try-catch try-with-resources

我正在使用Java 1.8,虽然try-with-resource在应用程序的其他部分工作正常但在我编写的一个类中:

try(Socket sock = socket != null ? socket : new Socket()){ //Other implementation}

它说资源泄漏。任何线索?

2 个答案:

答案 0 :(得分:0)

我从消息中了解到,如果socket不为null且未分配对象无法关闭,则有一个Socket无法初始化的选项。

答案 1 :(得分:0)

您的代码原则上没有问题,因此可以忽略Eclipse提供的警告。

但是,如果您这样编写代码会更清晰:

if(null != socket){
    try(Socket sock =  new Socket()){

    }catch(Exception e){

    }
}