2016-07-11 2 views
0

Я использую парсер StAX, который использует интерфейс XMLStreamReader. XMLSteamReader. next выбрасывает XMLStreamException.return responseEntity breaks flow

Когда я вернусь и разорвать поток, используя экземпляр ResponseEntity

Ex:

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

Основное различие между двумя случаями заключается в том, что вы в первую очередь вышли return и провалились во втором.

Обратите внимание, что ошибки на самом деле различны: первое, что говорит о том, что файл не может быть найдено:

[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. 

Таким образом, второй случай - фактически совершенно другая проблема, которую вы не видите в первом случае из-за возврата, нарушающего поток управления.

+0

но, я проверил, и это та самая проблема, которая решается? Почему два разных сообщения отладки? - – psedonerd

+0

«Почему два разных отладочных сообщения?» Без понятия. На самом деле не ясно, почему первое сообщение - это то, что оно есть - вы не показали, что такое 'DEBUG.message'. –

+0

Так что я предполагаю, что я не должен возвращаться, чтобы получить то же сообщение? Но разве это не так? – psedonerd

Смежные вопросы