2017-01-13 12 views
0

にメソッドがスローするSAXExceptionをキャッチ私はDefaultHandler2のスーパータイプorg.xml.sax.helpers.DefaultHandler出身でのJava:スーパー

public void startElement(String uri, 
    String localName, String qName, Attributes attributes) throws SAXException 

を上書きするorg.xml.sax.ext.DefaultHandler2を拡張するクラスを持っています。

私は BOMをUTF-8でエンコードさXMLファイルを解析しようとすると、それは

[Fatal Error] :1:1: Content is not allowed in prolog. 

は、他の場所としてよく文書例外をスローします。

ここで私のコード、すなわちクラスDefaultHandler2を拡張してこの例外をキャッチしたいと思いますが、メソッド自体に偽装が投げられるため、これを行う方法はわかりません。

1つはありますか?あるいは、私は元の例外を抱えていますか? parser.getXMLReader()org.xml.sax.XMLReaderはメソッドsetErrorHandler(ErrorHandler errorHandler)を持っを通じて得たとして

+0

キャッチしたい例外のスタックトレースを投稿してください。 – alexbt

+0

@alexbt:私のクラスはCLI OSGiフレームワークにバンドルとして組み込まれているので、エラー処理を適切に制御できません。 '[致命的なエラー]:1:1:内容がプロローグで許可されていません.' –

答えて

0

私は...、XMLパーサのXMLリーダーにエラーハンドラとしてDefaultHandler2の私の拡張子を設定することにより、

オーバーライドpublic void fatalError(SAXParseException e)、私が扱うことができるが、これを解決してきました致命的なエラーです