Невозможно создать ServerSocket в затмении (Java) - PullRequest
0 голосов
/ 20 октября 2010

Я очень новичок в программировании на Java, но имею большой опыт работы с .NET (c # & vb.net).

Я пытаюсь создать новый экземпляр класса serversocket в Eclipse IDE, и когда я набираю следующий код, он дает мне «Необработанное исключение типа IOException», и я даже не пытался запустить код !!

Я не понимаю, как исключается мой код до выполнения или что я могу сделать, чтобы это исправить.

Может ли кто-нибудь мне помочь?

Оскорбительный код:

ServerSocket server = new ServerSocket(1234, 5, InetAddress.getLocalHost());

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Если он дает «Необработанное исключение типа IOException», в java-файле при редактировании это означает, что вам нужно заключить этот оператор
в блок try-catch

try {

ServerSocket server = новый ServerSocket (1234, 5, InetAddress.getLocalHost ());
} перехват (IOException ex) {

e.printStackTrace ();
}

0 голосов
/ 20 октября 2010

Это функция языка Java, называемая Проверенные исключения .По сути, в вызываемом вами коде есть исключения, которые можно определить во время компиляции.Разработчики языка Java посчитали целесообразным заставить вас обработать их.

В этом случае конструктор класса ServerSocket в сигнатуре метода объявляет, что он вызывает исключение IOException.

Существует два способачтобы ошибка компиляции исчезла.

Вы можете заключить код в try / catch.

try
{
    ServerSocket server = new ServerSocket(1234, 5, InetAddress.getLocalHost());
} catch (IOException e)
{
    // handle exception
}

Или вы можете передать ответственность вызывающему методу.Например, предположим, что вы вызвали конструктор ServerSocket внутри метода с именем createSocket().Вы бы объявили свой метод так:

public ServerSocket createSocket() throws IOException
{
    ServerSocket server = new ServerSocket(1234, 5, InetAddress.getLocalHost());
    return server;
}

В этом случае вы просто перемещаете ответственность вверх по цепочке вызовов, но иногда это имеет смысл.

Это так часто встречается в Javaязыком, который Eclipse предлагает в качестве быстрых исправлений двумя опциями выше.

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