Java異常和Internet尋址_第1頁
Java異常和Internet尋址_第2頁
Java異常和Internet尋址_第3頁
Java異常和Internet尋址_第4頁
Java異常和Internet尋址_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022年3月6日廣州大學 Java網絡編程 主講:劉淼1第第2講講主要內容異常處理-補充Java尋址-第6章 2022年3月6日廣州大學 Java網絡編程 主講:劉淼2補充補充 異常處理異常處理異常及其好處異常及其好處 異常是在程序運行時,破壞了程序正常執行流程的事件。因此,異常又叫異常事件。 異常既不是程序的語法錯誤,也不是程序的邏輯錯誤。異常既可能是超出程序員控制之外的環境因素,如要讀取的文件不存在,網絡連接不可用等;也可能是程序自身運行中出現的異常,如引用未賦值,除法運算時除數為0,訪問數組下標越界等;同時也可能是Java虛擬機運行時出現的異常,如虛擬機的內部錯誤,堆棧溢出,內存越界等

2、。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼3補充補充 異常處理異常處理異常及其好處異常及其好處 異常處理的基本思想是異常檢測與異常處理分開。異常檢測能夠告知異常發生的位置和異常類型。發生異常的方法可以處理異常,也可沿調用堆棧向上拋出,交由上層調用方法處理,增加了處理的靈活性。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼4補充補充 異常處理異常處理異常三大好處異常三大好處 好處一:將異常處理代碼與正常邏輯代碼分開,增加了程序的易讀性。正常讀取文件的常規邏輯代碼 readFile open the file;determine its size;allocate t

3、hat much memory;read the file into memory;close the file;每一步都可能發生異常情況 readFile open the file;發生文件不能打開異常;determine its size;不能確定文件大小;allocate that much memory;沒有足夠內存分配;read the file into memory;讀文件失敗;close the file;文件不能被關閉;2022年3月6日廣州大學 Java網絡編程 主講:劉淼5補充補充 異常處理異常處理交由調用方法處理,要向調用方法返回異常情況類型 ;或自己處理 error

4、CodeType readFile initialize errorCode = 0; open the file; if (theFileIsOpen) determine the length of the file; if (gotTheFileLength) allocate that much memory; if (gotEnoughMemory) read the file into memory; if (readFailed) errorCode = -1; else errorCode = -2; else errorCode = -3; close the file; i

5、f (theFileDidntClose & errorCode = 0) errorCode = -4; else errorCode = errorCode and -4; else errorCode = -5; return errorCode;異常處理機制可以將正常處理代碼與異常處理代碼分開,增加了程序的可讀性。 readFile try open the file; determine its size; allocate that much memory; read the file into memory; close the file; catch (fileOpen

6、Failed) doSomething; catch (sizeDeterminationFailed) doSomething; catch (memoryAllocationFailed) doSomething; catch (readFailed) doSomething; catch (fileCloseFailed) doSomething; 2022年3月6日廣州大學 Java網絡編程 主講:劉淼6補充補充 異常處理異常處理異常三大好處異常三大好處 好處二:異常處理更加靈活,代碼簡潔清晰。假設上述ReadFile方法由method3調用,method3由method2調用,met

7、hod2由method1調用。偽代碼如下:method1 call method2;method2 call method3;method3 call readFile;沒有異常處理機制的偽代碼如下: method1 errorCodeType error; error = call method2; if (error) doErrorProcessing; else proceed;errorCodeType method2 errorCodeType error; error = call method3; if (error) return error; else proceed;er

8、rorCodeType method3 errorCodeType error; error = call readFile; if (error) return error; else proceed;2022年3月6日廣州大學 Java網絡編程 主講:劉淼7補充補充 異常處理異常處理異常三大好處異常三大好處 好處二:異常處理更加靈活,代碼簡潔清晰。假設上述ReadFile方法由method3調用,method3由method2調用,method2由method1調用。偽代碼如下:method1 call method2;method2 call method3;method3 call r

9、eadFile;具有異常處理機制的偽代碼如下:method1 try call method2; catch (exception e) doErrorProcessing; method2 throws exception call method3;method3 throws exception call readFile;2022年3月6日廣州大學 Java網絡編程 主講:劉淼8補充補充 異常處理異常處理好處三:將異常組織成類層次結構,既有利于突出異常之間的聯系,也有利于異常的處理。在進行輸入輸出時,IOException是各種輸入輸出異常的祖先類,代表一般異常情況,其子孫類則代表具體異

10、常情況。一個方法既可選擇捕獲某種具體異常對象,也可選擇捕獲一般異常對象,還可以先捕獲幾種具體異常對象,剩下的按照一般異常對象捕獲。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼9Java中的異常中的異常 Java異常分類異常分類 見word文檔2022年3月6日廣州大學 Java網絡編程 主講:劉淼10Java中的異常中的異常 自定義異常自定義異常 見word文檔2022年3月6日廣州大學 Java網絡編程 主講:劉淼11Java中的異常中的異常 Java中的異常處理機制中的異常處理機制 捕獲并處理異常 1 幸運的是,在絕大多數情況下,只要知道所調用的方法是否拋出了異常即可,查查A

11、PI文檔即可。 2用try塊將其包圍起來,每個try代碼塊可以伴隨一個或多個catch語句,用于處理相應try代碼塊中所生成的異常事件。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼12Java中的異常中的異常 Java中的異常處理機制中的異常處理機制 捕獲并處理異常 捕獲并處理異常的完整程序結構如下:try 會產生異常的代碼 catch (ExceptionType1 name) catch (ExceptionType2 name) finally 2022年3月6日廣州大學 Java網絡編程 主講:劉淼13Java中的異常中的異常 Java中的異常處理機制中的異常處理機制 直

12、接拋出異常 如果一個方法不想捕獲并處理在方法體內所產生的異常對象,可以使用throws關鍵詞在方法的聲明語句中拋出這些類型的異常,交由該方法的調用方法處理。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼14Java中的異常中的異常 Java中的異常處理機制中的異常處理機制 直接拋出異常 如果一個方法不想捕獲并處理在方法體內所產生的異常對象,可以使用throws關鍵詞在方法的聲明語句中拋出這些類型的異常,交由該方法的調用方法處理。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼15Java中的異常中的異常 Java中的異常處理機制中的異常處理機制 捕獲處理并拋出異常 前2種

13、方法的結合,既捕獲該異常進行處理,同時又沿調用堆棧拋出異常對象。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼16第第6章章 Internet尋址尋址局域網地址身份證號別名:硬件地址、NIC地址和MAC(Media Access Control)地址 聯網機器在同一個LAN或WAN內是依靠物理地址相互通信的,IP數據包必須封裝成幀才能通過物理網絡,因此,物理地址又稱為數據鏈路層地址 。2022年3月6日廣州大學 Java網絡編程 主講:劉淼17IPV4地址通信地址別名:邏輯地址 IPv4地址長度為32位二進制數,常用“點分十進制”表示:地址劃分為4個字節部分,每部分用0255之間的

14、一個十進制數表示,各部分之間用小數點分隔。 網絡標識+主機標識分類編址和無分類編址兩種 。2022年3月6日廣州大學 Java網絡編程 主講:劉淼18分類地址 分為A、B、C、D和E共5類,各類地址的高位互不相同。 見表。特殊地址和地址塊 。單播、廣播和多播地址 。劃分子網 。建立超網 2022年3月6日廣州大學 Java網絡編程 主講:劉淼19無分類地址 將整個IPv4地址空間劃分為不同大小的地址段,一個機構可以申請到適合自己需要的地址段。 無分類地址采用斜線記法,形如A.B.C.D/n。n表示該塊中的前n位是相同的。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼20IPV6地址

15、 長度為128位二進制位 。一個IPv6的地址由8個地址節組成,每節包含16個地址位,以4個十六進制數書寫,節與節之間用冒號分隔,例如:FAB0:BC28:4567:1230:FAAC:B123:8971:5555。 為了簡化包含0 位地址的書寫,指定了一個特殊的語法來壓縮0 。使用“:”符號指示有多個0值的16位組。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼21域名系統 層次的樹狀結構 。頂級域名由ICANN(Internet Corporation for Assigned Names and Numbers)機構管理,同時它還管理個別頂級域名下的域名注冊管理工作。其它頂級

16、域名下的域名管理工作由ICANN授權給其它機構管理,如cn域名下的域名注冊管理機構是中國互聯網中心(CNNIC)。 2022年3月6日廣州大學 Java網絡編程 主講:劉淼22域名解析 域名服務器的組織結構也是層狀結構。最上面是根服務器,有13個,實際上,每個根服務器都存在許多鏡像服務器,用來提高因特網的域名解析效率。 一個域名服務器所負責的范圍稱為一個區,它保存這個區的所有節點的域名信息。區可以是一個域,也可以只包含這個域的部分子域,而把另外的子域委托給其它服務器,保留對這些服務器的引用關系 。2022年3月6日廣州大學 Java網絡編程 主講:劉淼23域名解析 根服務器保存個別頂級域下的所

17、有信息,保存對其它頂級域名服務器的引用信息。每一個標準的DNS服務器都有一個cache文件,稱為根服務器列表,包括了因特網上的根服務器名稱和對應的IP地址。這個文件的下載地址是ftp:/ Java網絡編程 主講:劉淼24域名解析 遞歸解析。迭代解析。解析過程。2022年3月6日廣州大學 Java網絡編程 主講:劉淼25用用Java進行進行Internet尋址尋址J.InetAddress類 .NetworkInterface類類參考API文檔資料2022年3月6日廣州大學 Java網絡編程 主講:劉淼26程序程序1:用:用InetAddress類確定本地主機地址類確定本地主機地址import

18、.*;public class LocalHostDemo public static void main(String args) System.out.println(Looking up local host); try / Get the local host InetAddress localAddress = InetAddress.getLocalHost(); System.out.println(IP address : + localAddress.getHostAddress(); catch (UnknownHostException uhe) System.out.println

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論