О if (socket! = Null) socket.close (); - PullRequest
       1

О if (socket! = Null) socket.close ();

0 голосов
/ 23 октября 2018

При первом изучении сети я нашел несколько примеров с сокетами.Но я не могу понять, что означает "if (socket! = Null)".

И ... это код.

import java.net.ServerSocket;
import java.net.Socket;

public class MainClass {

    public static void main(String[] args) {
        ServerSocket serverSocket = null;
        Socket socket = null;
        try {
            serverSocket = new ServerSocket(9000);
            socket = serverSocket.accept();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                // Here it is
                if(socket != null) socket.close();
                if(serverSocket != null) serverSocket.close();
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}

в блоке finally {try ....Я не могу понять, что, если (сокет! = Ноль) означает.существует ли он для каких-то неизвестных исключений?

(извините за мой плохой английский. потому что я не англоговорящий.)

1 Ответ

0 голосов
/ 23 октября 2018

Томас прав, вы не хотите вызывать socket.close () для нулевого объекта.

Наконец, блоки будут всегда выполняться после блока try, независимо от того, завершат ли они все свои задачи без исключения.или если выдается исключение.

В случае, если достигнут блок finally, когда сокет равен null, вам не нужно ничего делать с ресурсом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...