A Java 8 változatban a java.net.DatagramPacket
konstruktorok, amelyek egy java.net.SocketAddress
argumentumot fogadnak, eltávolították a deklarációt, amellyel egy
SocketException kivétel dobható.
A Java 8 előtt a java.net.DatagramPacket
konstruktorok deklarálták, hogy egy java.net.SocketException
dobható, azonban ezek a konstruktorok soha nem dobták ezt a kivételt.
Ez a szabály megjelöli a DatagramPacket konstruktorokat,
amelyek tartalmaznak egy SocketAddress argumentumot egy try
blokkban, amely egy SocketException vagy ennek
ősosztályából (java.io.IOException) származó kivételt kap el,
ahogy a következő példában látható:
Nyilvános DatagramPacket getDatagramPacket (SocketAddress socketAddress, byte [] byte) { DatagramPacket dp = null; próbálja meg {
Dp = új DatagramPacket (byte, bytes.length, socketAddress);} fogás (SocketException e) {
e.printStackTrace();
}
Visszatérési dp;}
A következő DatagramPacket konstruktorok érintettek:
public DatagramPacket(byte[] buf,
int offset,
int length,
SocketAddress address)
public DatagramPacket(byte[] buf,
int length,
SocketAddress address)
Ha a try blokkon belül nincs más SocketException
kivételt dobó kód, akkor Java 8 változattal történő fordításkor egy hiba
fogja jelezni, hogy a kivétel nem érhető el.
Távolítsa el a catch blokkot, hogy a hiba ne forduljon
elő.
A java.net.DatagramPacket osztállyal kapcsolatos további
információkért tekintse meg a
java.net.DatagramPacket osztály Java dokumentációját.