モジュール java.xml
パッケージ 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をスローします。

    導入されたバージョン:
    1.4, 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