熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

在 Java 程序設計中處理 DOM 異常

2022-06-13   來源: Java核心技術 

  在使用基於Java的XML剖析器時你常常要應付異常(exception)的處理有些異常很容易處理但是有些異常卻很難處理在這一篇文章中我們將看到在使用XML文檔時碰到的一些常見異常並探討一下如何正確地處理這些異常
  
  DOM異常
  在使用DOM剖析器進行剖析操作的時候XML文檔會被立即處理並保存在內存內存裡的對象將被處理為一個文檔對象模型(Document Object Model)——這基本上就是一種用於訪問底層XML文檔的面向對象的方法在DOM裡處理XML文檔的時候很多東西都會出現錯誤
  
  大多數DOM下的異常都是作為DOMException類的一個實例發生的這一個類支持種不同的具體的異常條件每種條件都被指定為DOMException類的一個成員叫做code除了這個code成員DOMException類還包含一組個靜態成員它們被用來確定異常的條件
  
  當DOMException出現的時候如果不檢查異常對象裡的code那麼你就不會知道到底是這些條件中的哪一個導致了這個異常為了正確地處理這個異常你將需要確定是哪個條件導致了這個異常
  
  Listing A顯示了一個Java程序這一程序在創建新的DOM文檔時由於錯誤而無法通過 點擊這裡可以查看程序源代碼
  
  要注意我們使用了一種切換機制來確定到底滿足了哪個條件這樣我們就可以很容易地測試每個條件直到我們找到正確的條件
  
  在以上范例中我們已經在用於無效字符的條件裡放置了一條消息當你編譯並運行這個例子的時候你會看到這樣一條信息存在非法字符(There is an invalid character)你會希望正確地處理每個條件而不是將條件留為空白
  
  你可能想要提取出條件異常的處理(方法)並將它放置到它自己的方法裡甚至是它自己的類裡那樣的話你就可以在你的代碼裡放入更加簡單的異常處理機制例如我們可以創建一個叫做DOMExceptionHandler的新類如Listing B所示可以點擊此處查看源代碼
  
  既然我們有了用來處理DOM異常的專用處理器類那麼我們就可以從我們的處理代碼裡調用它Listing C裡的代碼是對DOMFail類的一個修正它使用了我們新的DOMExceptionHandler類可以點擊這裡查看代碼
  
  這個新的類要比我們原來的DOMFail類簡單得多它還可以讓我們能夠更容易地重新使用異常處理器的代碼我們現在不用每次需要的時候才剪切和粘貼事件處理器代碼而只是調用DOMExceptionHandler類就可以了
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26890.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.