1、IOException异常
这个异常是所有在Socket类的方法中抛出的异常的父类。因此,在使用Socket类时只要捕捉catch这个异常就可以了。当然,为了同时捕捉其他的异常,也可以捕捉Exception。
2、SocketException异常
这个异常在Socket类的方法中使用得最频繁。它代表了所有和网络有关的异常。
3、ConnectException异常
ConnectException异常通常发生在由于服务器忙而未响应或是服务器相应的监听端口未打开时。
4、BindException异常
这个异常在多个Socket或ServerSocket对象绑定在同一个端口,而且未打开SO_REUSEADDR选项时发生。
5、NoRouteToHostException异常
这个异常在遇到防火墙或是路由无法找到主机的情况下抛出。
6、UnknownHostException异常
这个异常在域名不正确时被抛出。
7、ProtocolException异常
这个异常不经常被抛出。由于不明的原因,TCP/IP的数据包被破坏了,这时将抛出ProtocolException异常。
8、SocketTimeoutException异常
如果在连接超时和读取数据超时时间过后,服务器仍然未响应,connect或read方法将抛出SocketTimeoutException异常。