Java 无法捕获JsonMappingException
我的IDE通过Java 无法捕获JsonMappingException,java,jackson,Java,Jackson,我的IDE通过mapper.readValue行向我提供了错误未处理的异常com.fasterxml.jackson.databind.JsonMappingException ObjectMapper mapper = new ObjectMapper(); try { if (response.isEmpty()) { //Http 204 (No Content) returned from MCC //We should handle this d
mapper.readValue
行向我提供了错误未处理的异常com.fasterxml.jackson.databind.JsonMappingException
ObjectMapper mapper = new ObjectMapper();
try {
if (response.isEmpty()) {
//Http 204 (No Content) returned from MCC
//We should handle this differently
user = new User();
} else {
user = mapper.readValue(response, User.class);
}
} catch (IOException ioe) {
logger.log(Level.SEVERE, ioe.getLocalizedMessage());
}
return user;
我尝试捕获
JsonMappingException
,但它没有消除错误。有什么想法吗?你也试过这个吗
user=mapper.readValue(response.getEntity(String.class)、user.class)代码>
PS:假设,response
属于com.sun.jersey.api.client.ClientResponse
JsonMappingException
扩展了IOException
,那么您的IDE本身就有一些更深层次的问题——可能是库导入出错了?我也有同样的问题。似乎JsonMappingException
类继承的类不在JAR文件中。我刚刚恢复到1.9版,但没有出现问题。当我只添加了jackson mapper asl
jar时,我遇到了这个问题。当我添加jackson-core-asl
jar时,它工作了
杰克逊2也是如此。如果仅包括jackson数据绑定
,则会发生此错误。您还需要包括jackson core
。我也有同样的问题,当我添加时,它对我有效 我也遇到了同样的问题,因为org.codehaus.jackson.map.JsonMappingException扩展了JsonProcessingException(不是任何可直接丢弃的),而包中缺少这个。在做了一些研究之后,我直接下载了JAR(而不是Maven),并手动将其添加到classpatch中:
- jackson-2.1.2
- com.fasterxml.jackson.core
- com.fasterxml.jackson.databind
这三个包的组合解决了这个问题。添加jackson-core-asl.jar,它将起作用。您需要为特定类型的异常添加一个catch块。试试看catch(JsonMappingException jme){}
我试过了。。。当我这样做时,它会说Required:java.lang.Throwable
,好像无法抛出该异常一样
您得到的响应的值是多少?我目前还没有运行应用程序,是我的IDE引发了错误。@Webnet:您可能捕获了错误的异常?您是否捕获了org.codehaus.jackson.map.JsonMappingException
而不是com.fasterxml.jackson.databind.JsonMappingException
?那么这里的实际问题是什么?实际上,如果您使用org.codehaus.jackson.map.JsonMappingException,它会扩展JsonProcessingException,而包中缺少这个。这就是问题所在。我已经添加了响应——只是手动删除了过时的jar并添加到类补丁中:jackson-annotations-2.1.2、com.fasterxml.jackson.core、com.fasterxml.jackson.databind现在一切正常。