El constructor DatagramPacket con SocketAddress ya no declara SocketException

En Java 8, los constructores java.net.DatagramPacket que aceptan un argumento java.net.SocketAddress han eliminado la declaración de que se puede emitir una excepción SocketException. En las versiones anteriores a Java 8, los constructores java.net.DatagramPacket declaraban que se podía emitir una excepción java.net.SocketException, pero la excepción no era emitida nunca por esos constructores.

Esta regla señala los constructores DatagramPacket que incluyen un argumento SocketAddress y que están rodeados por un bloque Try que captura una excepción SocketException o su superclase java.io.IOException, tal como se muestra en el ejemplo siguiente:

	public DatagramPacket getDatagramPacket (SocketAddress socketAddress, byte [] bytes) { DatagramPacket dp = null; try {
			dp = new DatagramPacket (bytes, bytes.length, socketAddress);} catch (SocketException e) {
			e.printStackTrace();
		}
		dp de retorno;}

La regla afecta a los constructores DatagramPacket siguientes:

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

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

Si ningún otro código dentro del bloque try emite una excepción SocketException, cuando compile con Java 8, un error indicará que la excepción no es accesible. Elimine el bloque catch para que no se produzca el error.

Para obtener más información sobre la clase java.net.DatagramPacket, consulte la documentación de Java de Class java.net.DatagramPacket.