BindException、ConnectException和SocketException

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

BindException和ConnectException都是SocketException的直接子类。ConnectException在SocketTimeoutException和ConnectException简介已介绍,下面介绍其余两个异常。

BindException:

类声明:public class BindException extends SocketException:试图将套接字绑定到本地地址和端口时发生错误的情况下,抛出此异常。这些错误通常发生在端口正在使用中或无法分配所请求的本地地址时。

注意,所有异常都是Throwable子类,而Throwable实现了Serializable接口。所以所有异常都实现了Serializable接口的。

类层次结构:

构造方法:

①public BindException(String msg)  构造一个新的 BindException,使其具有关于绑定错误产生原因的指定详细消息。详细消息指的是一个具体描述此错误的 String。

②public BindException()  构造不带详细消息的新 BindException。

SocketException:

类声明:public class SocketException extends IOException   抛出此异常指示在底层协议中存在错误,如 TCP 错误。

类层次:

直接已知子类:BindException, ConnectException, NoRouteToHostException, PortUnreachableException

构造方法:

①public SocketException(String msg)   构造带指定详细消息的新 SocketException

②public SocketException()   构造不带详细消息的新 SocketException

几个常见异常比较:

①ConnectException:connection refused connect.  抛出此类异常,表示无法连接,也就是说当前主机不存在
②BindException:address already in use   抛出此类异常,表示端口已经被占用
③SocketException:socket is closed.  抛出此类异常,表示连接正常关闭,也就是说另一端主动关闭连接
④SocketException:connection reset.抛出此类异常,表示一端关闭连接,而另一端此时在读数据
⑤SocketException:connect reset by peer.抛出此类异常,表示一端关闭连接,而另一端此时在发送数据
⑥SocketException:broken pipe.抛出此类异常,表示连接已关闭,但还继续使用(也就是读/写操作)此连接
⑦EOFException 抛出此类异常,表示连接丢失,也就是说网络连接的另一端非正常关闭连接(可能是主机断电、网线出现故障等导致)




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值