2016-07-11 6 views
0

XMLStreamReaderインターフェイスを使用するStAXパーサを使用しています。 XMLSteamReadernextXMLStreamExceptionをスローします。return responseEntity break flow

私は戻って、流れを壊し、

例ResponseEntityインスタンスを使用して:

catch (IOException | XMLStreamException e) { 
    message = e.getMessage(); 
    log.debug(message); 
    return new ResponseEntity<String>(message, HttpStatus.BAD_REQUEST); 
} 

私が取得メッセージ:

[DEBUG] test.rng (No such file or directory) 

私が戻らない場合は、

入手方法:

[DEBUG] test.rng (No such file or directory) 
[DEBUG] "fservice/.../1.2.3/1/test.rng.xml" (Line 16): The end-tag for element type "elem" must end with a '>' delimiter. 

もう少しわかりやすいので、2番目のメッセージも表示する必要があります。どうやってやるの?

答えて

2

2つのケースの主な違いは、あなたが最初にreturn、2番目が落ちることです。

エラーは実際に異なっていることに注意してください:最初のファイルが見つからないことを言っている:

[DEBUG] test.rng (No such file or directory) 

第二は、XMLファイルが不正であることを言って(とりわけれます終了タグ、)開始タグが見つかったので、ファイルが見つかったことを意味:

"fservice/.../1.2.3/1/test.rng.xml" (Line 16): The end-tag for element type "elem" must end with a '>' delimiter. 

したがって、2番目のケースは実際には全く異なる問題です。これは、制御フローを破棄するリターンが原因で最初のケースでは表示されません。

+0

しかし、私はそれをチェックしたのと同じ問題が解決されていますか?なぜ2つの異なるデバッグメッセージ? - – psedonerd

+0

"なぜ2つの異なるデバッグメッセージが表示されるのですか?"いい考えはありません。最初のメッセージが何であるのかは、実際には分かりません。なぜなら、 'DEBUG.message'が何であるかを示していないからです。 –

+0

私は同じメッセージを得るために私が戻ってはいけないと推測していますか?しかしそれは間違っていませんか? – psedonerd