Это функция языка 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 предлагает в качестве быстрых исправлений двумя опциями выше.