Java 发生异常时继续处理
下面的代码基本上读取一组JSON字符串,并将其转换为java对象。我的问题是,如果在任何时候,任何一个JSON字符串的转换都失败了,它就不会处理其他字符串。我需要的是-Java 发生异常时继续处理,java,Java,下面的代码基本上读取一组JSON字符串,并将其转换为java对象。我的问题是,如果在任何时候,任何一个JSON字符串的转换都失败了,它就不会处理其他字符串。我需要的是- 查找发生错误的字符串 在异常块中,执行某些操作以继续处理 下面是我将JSON转换为Java的代码 public static <T> T convertToObject(String jsonString,Class<T> classType){ T obj = null; try {
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;
}
publicstatict convertToObject(字符串jsonString,类classType){
T obj=null;
试一试{
obj=objectMapper.readValue(jsonString,类类型);
}捕获(例外e){
抛出新异常(“无法转换为DTO:+e.getMessage(),e”);
}
返回obj;
}
我认为您需要一个自定义反序列化程序。标准ObjectMapper将执行全部操作或不执行任何操作。在此处阅读有关为Jackson ObjectMapper创建自定义反序列化程序的更多信息:
您正在捕获异常,然后为消息“无法转换…”抛出一个新异常。。。那么您在哪里捕获第二个异常呢?与上面的问题相同:显示调用您的函数的代码。无论抛出哪种类型的异常,您都必须修改它。+1,但我怀疑这需要相当多的工作才能实现。