Продолжить обработку при возникновении исключения

1

У меня есть код ниже, который в основном читает кучу строк JSON и преобразует их в объект java. Моя проблема в том, что в какой-то момент преобразование не выполняется для любой из строк JSON, оно не обрабатывает остальные строки. Что мне нужно -

  1. Найдите строку, для которой произошла ошибка.
  2. В блоке исключений выполните что-то, чтобы продолжить обработку.

Вот мой код для конвертации из JSON в Java.

public static <T> T convertToObject(String jsonString,Class<T> classType){
    T obj = null;
    try {
        obj = objectMapper.readValue(jsonString, classType);
    } catch (Exception e) {
        throw new Exception("Unable to convert to DTO :" + e.getMessage(), e);
    } 
    return obj;
}
  • 1
    Вы перехватываете исключение, а затем выбрасываете новое для сообщения "невозможно преобразовать ..." ... так где же вы перехватываете это второе исключение?
  • 0
    Тот же вопрос, что и выше: показать код, вызывающий вашу функцию. Вам придется изменить это независимо от того, какой тип исключения вы выбрасываете.
Теги:

1 ответ

2

Я думаю, вам нужен специальный десериализатор. Стандартный ObjectMapper будет делать все или ничего. Подробнее о создании пользовательского десериализатора для Jackson ObjectMapper можно узнать здесь:

http://www.baeldung.com/jackson-deserialization

  • 0
    +1, но я подозреваю, что это займет довольно много времени для реализации.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню