JavaTM Platform
Standard Ed. 6

org.xml.sax
インタフェース ErrorHandler

既知の実装クラスの一覧:
DefaultHandler, DefaultHandler2, HandlerBase, XMLFilterImpl

public interface ErrorHandler

SAX エラーハンドラの基本インタフェースです。

このモジュールは、ソースコード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません。詳細については、http://www.saxproject.org を参照してください。
 

カスタムエラー処理を実装する必要がある場合、SAX アプリケーションはこのインタフェースを実装し、setErrorHandler メソッドを使用して XML リーダーにインスタンスを登録する必要があります。これで、パーサーはこのインタフェースを介してすべてのエラーおよび警告を報告するようになります。

 

警告: アプリケーションが ErrorHandler を登録していない場合、「SAXParseException」が致命的なエラーとしてスローされる場合を除いて XML 構文解析エラーは報告されません。妥当性エラーを検出するには、error() 呼び出しを処理する ErrorHandler を登録する必要があります。

 

XML 処理エラーの場合、SAX ドライバは、例外がスローされる前にこのインタフェースを使用する必要があります。タイプの異なるエラーや警告の例外をスローするかどうかを決定するアプリケーションとそうでないアプリケーションがあります。ただし、fatalError の呼び出し後に、パーサーが追加のエラーを報告し続けることはありません。つまり、fatalError の報告後は、SAX ドライバクラスが例外をスローすることがあります。また、パーサーは 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 勧告セクション 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 勧告セクション 1.2 の「致命的なエラー」の定義に相当します。たとえば、パーサーは、このコールバックを使用して整形式制約違反を報告します。

 

パーサーがこのメソッドを呼び出したあと、アプリケーションは文書が使用できなくなったと判断し、その他のエラーメッセージを収集するだけの目的で処理を続行します。つまり、SAX パーサーは、このメソッドを呼び出したあと、その他のイベントの報告を停止してもかまいません。

パラメータ:
exception - SAX 構文解析例外にカプセル化された エラー情報
例外:
SAXException - SAX 例外。ほかの例外をラップしている可能性がある
関連項目:
SAXParseException

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。