隨筆 - 312, 文章 - 14, 評(píng)論 - 1393, 引用 - 0

          導(dǎo)航

          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          公告

          關(guān)注我的新浪微博

          我的著作









          常用鏈接

          留言簿(126)

          我參與的團(tuán)隊(duì)

          隨筆分類(818)

          隨筆檔案(310)

          文章分類(1)

          文章檔案(8)

          相冊(cè)

          ADSL、3G查詢

          CSDN

          eclipse

          ibm

          Java EE

          Linux

          Web

          云服務(wù)

          代理網(wǎng)站

          關(guān)注的網(wǎng)站

          協(xié)議

          喜歡的Blog

          國(guó)內(nèi)廣告平臺(tái)

          圖書出版

          在線培訓(xùn)

          開發(fā)工具

          微博客戶端

          手機(jī)鈴聲

          操作系統(tǒng)

          • ReactOS
          • 一個(gè)與windowXP/2003兼容的操作系統(tǒng)

          數(shù)學(xué)

          文件格式

          源碼資源

          移動(dòng)(Mobile)

          編程語(yǔ)言

          英語(yǔ)學(xué)習(xí)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 1974655
          • 排名 - 6

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          Java網(wǎng)絡(luò)編程從入門到精通(19):套接字(Socket)的異常

          本文為原創(chuàng),如需轉(zhuǎn)載,請(qǐng)注明作者和出處,謝謝!

          上一篇:
          Java網(wǎng)絡(luò)編程從入門到精通(18):Socket類的getter和setter方法(2)

             
          在Socket類中有很多方法在聲明時(shí)使用throws拋出了一些異常,這些異常都是IOException的子類。在Socket類的方法中拋出最多的就是SocketException,其余還有七個(gè)異常可供Socket類的方法拋出。這些異常的繼承關(guān)系如圖1所示。其中灰色背景框所描述的例外就是Socket類的方法可能拋出的異常。



          圖1  異常類繼承關(guān)系圖

          • public class IOException extends Exception

             這個(gè)異常是所有在Socket類的方法中拋出的異常的父類。因此,在使用Socket類時(shí)只要捕捉(catch)這個(gè)異常就可以了;當(dāng)然,為了同時(shí)捕捉其它類中的方法的異常,也可以直接捕捉Exception。

          • public class SocketException extends IOException

             這個(gè)異常在Socket類的方法中使用得最頻繁。它也代表了所有和網(wǎng)絡(luò)有關(guān)的異常。但如果要想知道具體發(fā)生的哪一類的異常,就需要捕捉更具體的異常了。

          • public class ConnectException extends SocketException

              ConnectException異常通常發(fā)生在由于服務(wù)器忙而未響應(yīng)或是服務(wù)器相應(yīng)的監(jiān)聽端口未打開。如下面的語(yǔ)句將拋出一個(gè)ConnectException異常。

          Socket socket = new Socket("www.ptpress.com.cn"1234);
          • public class BindException extends SocketException

             這個(gè)異常在多個(gè)Socket或ServerSocket對(duì)象綁定在同一個(gè)端口,而且未打開SO_REUSEADDR選項(xiàng)時(shí)發(fā)生。如下面的四條語(yǔ)句將拋出一個(gè)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

              這個(gè)異常在遇到防火墻或是路由無法找到主機(jī)的情況下發(fā)生。

          • public class UnknownHostException extends IOException

              這個(gè)異常在域名不正確時(shí)被拋出。如下面的語(yǔ)句將拋出一個(gè)UnKnownHostException異常:

          Socket socket1 = new Socket("www.ptpress123.com.cn"80);
          • public class ProtocolException extends IOException

             這個(gè)異常并不經(jīng)常被拋出。由于不明的原因,TCP/IP的數(shù)據(jù)包被破壞了,這時(shí)將拋出ProtocolException異常。

          • public class SocketTimeoutException extends InterruptedIOException

             如果在連接超時(shí)和讀取數(shù)據(jù)超時(shí)時(shí)間過后,服務(wù)器仍然未響應(yīng),connect或read方法將拋出SocketTimeoutException異常。

          下一篇:
          Java網(wǎng)絡(luò)編程從入門到精通(20):HTTP協(xié)議簡(jiǎn)介





          Android開發(fā)完全講義(第2版)(本書版權(quán)已輸出到臺(tái)灣)

          http://product.dangdang.com/product.aspx?product_id=22741502



          Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


          新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

          posted on 2009-06-02 08:19 銀河使者 閱讀(3257) 評(píng)論(2)  編輯  收藏 所屬分類: java 原創(chuàng)網(wǎng)絡(luò)編程

          評(píng)論

          # re: Java網(wǎng)絡(luò)編程從入門到精通(19):套接字(Socket)的異常[未登錄]  回復(fù)  更多評(píng)論   

          很好的個(gè)人主頁(yè)!!
          有時(shí)間我會(huì)常來!!!
          2009-06-04 11:07 | Java愛好者

          # re: Java網(wǎng)絡(luò)編程從入門到精通(19):套接字(Socket)的異常[未登錄]  回復(fù)  更多評(píng)論   

          不知道這個(gè)網(wǎng)絡(luò)編程是否還有下文!!!!
          期待................
          2009-06-04 11:08 | Java愛好者
          主站蜘蛛池模板: 安国市| 开平市| 宜良县| 中牟县| 双峰县| 金溪县| 嘉黎县| 吉林省| 会同县| 隆子县| 泸西县| 石楼县| 会昌县| 余姚市| 辉南县| 无极县| 苗栗县| 喀什市| 武山县| 肃北| 岚皋县| 湘阴县| 应用必备| 桑日县| 绩溪县| 福泉市| 溧阳市| 夏河县| 扶沟县| 桃园市| 莱阳市| 元谋县| 繁峙县| 彭泽县| 萨嘎县| 乌兰县| 托里县| 行唐县| 昌平区| 孟村| 山阳县|