JavaTM 2 Platform
Standard Ed. 6

org.xml.sax
介面 ErrorHandler

所有已知實作類別:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl

public interface ErrorHandler

SAX 錯誤處理程序的基本介面。

此模組(包括源程式碼和文檔)在公共域中,同時 沒有擔保有關更多資訊,請參閱http://www.saxproject.org

如果 SAX 應用程序需要實作自定義的錯誤處理,則它必須實作此介面,然後使用 setErrorHandler 方法向 XML 閱讀器註冊一個實例。然後解析器將通過此介面報告所有的錯誤和警告。

警告:如果應用程序 註冊 ErrorHandler,則將不報告 XML 解析錯誤,除了對嚴重的錯誤將拋出 SAXParseException 外。為了檢測有效性錯誤,必須註冊用 error() 調用處理某些事情的 ErrorHandler。

對於 XML 處理錯誤,SAX 驅動器必須優先於拋出異常使用此介面:需要應用程序來決定是否對不同型別的錯誤和警告拋出異常。但是要注意,不要求解析器在調用 fatalError 之後繼續報告另外的錯誤。換句話說,SAX 驅動器類別可以在報告任何 fatalError 之後拋出異常。另外,解析器可以對非 XML 錯誤拋出適當的異常。例如,XMLReader.parse() 將對存取實體或文檔的錯誤拋出 IOException。

從以下版本開始:
SAX 1.0
另請參見:
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler), SAXParseException

方法摘要
 void error(SAXParseException exception)
          接收可恢復的錯誤的通知。
 void fatalError(SAXParseException exception)
          接收不可恢復的錯誤的通知。
 void warning(SAXParseException exception)
          接收警告的通知。
 

方法詳細資訊

warning

void warning(SAXParseException exception)
             throws SAXException
接收警告的通知。

SAX 解析器將使用此方法報告不屬於 XML 推薦標準定義的錯誤或嚴重的錯誤的情形。預設行為是不採取任何措施。

SAX 解析器必須在調用此方法後繼續提供正常的解析事件:應用程序應該仍能夠處理文檔直到結尾。

過濾器也可以使用此方法報告其他的非 XML 警告。

參數:
exception - 封裝在 SAX 解析異常中的警告資訊。
拋出:
SAXException - 任何 SAX 異常,可能包裹另外的異常。
另請參見:
SAXParseException

error

void error(SAXParseException exception)
           throws SAXException
接收可恢復的錯誤的通知。

這符合 "W3C XML 1.0 Recommendation" 的 1.2 節中對“錯誤”的定義。例如,驗證解析器將使用此回調來報告違反有效性約束。預設行為是不採取任何措施。

SAX 解析器必須在調用此方法後繼續提供正常的解析事件應用程序應該仍能夠處理文檔直到結尾如果應用程序不能這樣做,則解析器必須報告一個嚴重的錯誤,即使 XML 推薦標準未要求這樣做。

過濾器也可以使用此方法報告其他的非 XML 錯誤。

參數:
exception - 封裝在 SAX 解析異常中的錯誤資訊。
拋出:
SAXException - 任何 SAX 異常,可能包裹另外的異常。
另請參見:
SAXParseException

fatalError

void fatalError(SAXParseException exception)
                throws SAXException
接收不可恢復的錯誤的通知。

在此方法的文檔和 ContentHandler.endDocument() 的文檔之間存在著明顯的矛盾。直到在未來的主版本中解決了這一不明確問題後,客戶才不必假定在解析器報告 fatalError() 或拋出異常後是否將調用 endDocument()。

這符合 "W3C XML 1.0 Recommendation" 的 1.2 節對“嚴重的錯誤”的定義。例如,解析器將使用此回調來報告違背了格式良好性的約束。

應用程序必須假定在解析器調用此方法之後該文檔不可用,並且應該僅為收集更多的錯誤訊息而繼續進行:事實上,一旦調用了此方法,SAX 解析器就可以隨意停止對其他任何事件的報告。

參數:
exception - 封裝在 SAX 解析異常中的錯誤資訊。
拋出:
SAXException - 任何 SAX 異常,可能包裹另外的異常。
另請參見:
SAXParseException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only