V prostředí Java 8 konstruktory java.net.DatagramPacket, které přijímají argument java.net.SocketAddress, odebraly deklaraci, že může být vyvolána výjimka SocketException.
Před verzí Java 8 konstruktory java.net.DatagramPacket deklarovaly, že může být vyvolána výjimka java.net.SocketException, ale výjimka nikdy nebyla vyvolána těmito konstruktory.
Toto pravidlo značí konstruktory DatagramPacket zahrnující argument SocketAddress obklopený blokem try, který zachycuje výjimku SocketException nebo její podtřídu java.io.IOException, jak zobrazuje následující příklad:
public DatagramPacket getDatagramPacket (SocketAddress socketAddress, byte [] bytes) { DatagramPacket dp = null; zkuste {
dp = new DatagramPacket (bytes, bytes.length, socketAddress);} catch (SocketException e) {
e.printStackTrace();
}
návrat dp;}
Jsou ovlivněny následující konstruktory DatagramPacket:
public DatagramPacket(byte[] buf,
int offset,
int length,
SocketAddress address)
public DatagramPacket(byte[] buf,
int length,
SocketAddress address)
Pokud žádný jiný kód v rámci bloku try nevygeneruje výjimku SocketException bude při kompilaci verze Java 8 chyba označovat, že výjimka je nedosažitelná.
Odeberte blok catch tak, aby se nevyskytovala chyba.
Další informace o třídě java.net.DatagramPacket viz dokumentace Java
Třída java.net.DatagramPacket.