<b>Java网络编程从入门到精通(19):套接字(Socket)的非常</b>[Java编程]
本文“<b>Java网络编程从入门到精通(19):套接字(Socket)的非常</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Socket类中有很多办法在声明时利用throws抛出了一些非常,这些非常都是IOException的子类.在Socket类的办法中抛出最多的就是SocketException,别的还有七个非常可供Socket类的办法抛出.这些非常的担当关系如图1所示.此中灰色后台框所描写的例外就是Socket类的办法大概抛出的非常.
public class IOException extends Exception
这个非常是全部在Socket类的办法中抛出的非常的父类.因此,在利用Socket类时只要捕捉(catch)这个非常便可以了;当然,为了同时捕捉别的类中的办法的非常,也可以直接捕捉Exception.
public class SocketException extends IOException
这个非常在Socket类的办法中利用得最频繁.它也代表了全部和网络有关的非常.但假如要想知道具体发生的哪一类的非常,就需求捕捉更具体的非常了.
public class ConnectException extends SocketException
ConnectException非常普通发生在由于服务器忙而未呼应或是服务器呼应的监听端口未翻开.以下面的语句将抛出一个ConnectException非常.
Socket socket = new Socket("www.ptpress.com.cn", 1234);
public class BindException extends SocketException
这个非常在多个Socket或ServerSocket对象绑定在同一个端口,并且未翻开SO_REUSEADDR选项时发生.以下面的四条语句将抛出一个BindException非常:
Socket socket1 = new Socket();
Socket socket2 = new Socket();
socket1.bind(new InetSocketAddress("127.0.0.1", 1234));
socket2.bind(new InetSocketAddress("127.0.0.1", 1234));
public class NoRouteToHostException extends SocketException
这个非常在碰到防火墙或是路由无法找到主机的情形下发生.
public class UnknownHostException extends IOException
这个非常在域名不精确时被抛出.以下面的语句将抛出一个UnKnownHostException非常:
Socket socket1 = new Socket("www.ptpress123.com.cn", 80);
public class ProtocolException extends IOException
这个非常并不常常被抛出.由于不明的缘由,TCP/IP的数据包被破坏了,这时将抛出ProtocolException非常.
public class SocketTimeoutException extends InterruptedIOException
假如在衔接超时和读取数据超不时间过后,服务器仍旧未呼应,connect或read办法将抛出SocketTimeoutException非常.
以上是“<b>Java网络编程从入门到精通(19):套接字(Socket)的非常</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |