private ConnectDatum tryConnect(){
  try (SocketChannel dstSocket=SocketChannel.open()){
    return tryConnect(dstSocket);
  }
 catch (  IOException ex) {
    throw new RuntimeException("socket creation failed",ex);
  }
}

private ConnectDatum tryConnect ( ) { try ( SocketChannel dstSocket = SocketChannel . open ( ) ) { return tryConnect ( dstSocket ) ; } catch ( IOException ex ) { throw new RuntimeException ( "socket creation failed" , ex ) ; } }
attempt to connect to an address and diagnose failure .
