今回は org.xml.sax.ErrorHandler インターフェース(記事一覧)。
org.xml.sax.ErrorHandler インターフェース
ErrorHandler は望まれない事態が起こったときに呼ばれるメソッドを定義します:
public interface ErrorHandler{ void warning(SAXParseException exception) throws SAXException; void error(SAXParseException exception) throws SAXException; void fatalError(SAXParseException exception) throws SAXException; }
各メソッドを簡単に見ていきましょう:
メソッド名 | 説明 |
---|---|
warning(..) | 特に処理を必要としないが望ましくない事態が起こったときに呼ばれます。 何の処理をしなくても解析処理はそのまま続けられます。 |
error(..) | 復旧可能な例外が発生したときに呼び出されます。 XML 文書の妥当性検証に失敗したとき等に呼ばれます。 |
fatalError(..) | 復旧不可能な例外が発生したときに呼び出されます。 XML 文書が整形式でないとき等に呼ばれます。 |
SAXParser を用いた SAX 解析を行う場合は、ErrorHandler クラスの実装は org.xml.sax.helpers.DefaultHandler を用いて作成する必要があります。 同クラスに org.xml.sax.ContentHandler のメソッドも実装し、SAXParser#parse() メソッドに渡します。
org.xml.sax.SAXParseException
これは org.xml.sax.SAXException を拡張したクラスで、入力文書のシステム識別子や文書の現在の解析位置などを取得するメソッドが定義されています。 これらは発生した例外等の詳細情報を取得するのに使えます。