У конструктора DatagramPacket с параметром SocketAddress удалено объявление SocketException

В Java 8 у конструкторов java.net.DatagramPacket с параметром java.net.SocketAddress удалено объявление SocketException в спецификаторе throws. До Java 8 в спецификаторе throws конструкторов java.net.DatagramPacket была объявлена исключительная ситуация java.net.SocketException, но она в них никогда не возникала.

Это правило помечает конструкторы DatagramPacket с параметром SocketAddress, находящиеся в блоке try с обработчиком SocketException или java.io.IOException (см. следующий пример).

	public DatagramPacket getDatagramPacket (SocketAddress socketAddress, byte [] bytes) {
	 	
		DatagramPacket dp = null; try {
			dp = новый DatagramPacket (bytes, bytes.length, socketAddress); } catch (SocketException e) {
			e.printStackTrace();
		}
		return dp; }

Затрагиваются следующие конструкторы DatagramPacket:

public DatagramPacket(byte[] buf,
                      int offset,
                      int length,
                      SocketAddress address)

public DatagramPacket(byte[] buf,
                      int length,
                      SocketAddress address)

Если в остальном коде блока try исключительная ситуация SocketException не возникает, то при компиляции для Java 8 возникнет ошибка, указывающая на исключительную ситуацию, которая никогда не возникает. Удалите блок catch, чтобы устранить эту ошибку.

Дополнительная информация о классе java.net.DatagramPacket приведена в документации Java по классу java.net.DatagramPacket.