Это зависит от того, что вы хотите использовать в качестве запасного значения / значения по умолчанию или обработки ошибок.
У вас есть 2 основных параметра (с 2 дополнительными параметрами):
1.A. Бросьте исключение :
private String tryObjMapper(Object obj) throws JsonProcessingException {
return objectMapper.writeValueAsString(obj);
}
1.B.Rethrow RuntimeException
(или пользовательское непроверенное исключение)
private String tryObjMapper(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException("Failed to map obj +" obj, e);
}
}
2.A. Определить значение по умолчанию при ошибке
private String tryObjMapper(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;//or other default value
}
2.B. Определите значение по умолчанию с помощью одного оператора возврата:
private String tryObjMapper(Object obj) {
String retVal = null;//or other default value
try {
retVal = objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return retVal ;
}
Рассмотрите исключение при ведении журнала с использованием средства ведения журнала и без использования e.printStackTrace()