Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson转换器应抛出何种异常类型来指示无效值_Java_Json_Jackson_Jackson Databind - Fatal编程技术网

Java Jackson转换器应抛出何种异常类型来指示无效值

Java Jackson转换器应抛出何种异常类型来指示无效值,java,json,jackson,jackson-databind,Java,Json,Jackson,Jackson Databind,通过以下注释,我可以告诉Jackson使用转换器类对反序列化数据进行额外的后处理: @JsonDeserialize(converter=MyConverter.class) 公共MyConstrainedMap属性; 例如,以下转换器将映射转换为自定义类型MyConstrainedMap: 公共静态类MyConverter扩展了StdConverter{ @凌驾 公共MyConstrainedMap转换(Map rawMap){ //…检查值 返回新的MyConstrainedMap(raw

通过以下注释,我可以告诉Jackson使用
转换器
类对反序列化数据进行额外的后处理:

@JsonDeserialize(converter=MyConverter.class)
公共MyConstrainedMap属性;
例如,以下转换器将映射转换为自定义类型
MyConstrainedMap

公共静态类MyConverter扩展了StdConverter{
@凌驾
公共MyConstrainedMap转换(Map rawMap){
//…检查值
返回新的MyConstrainedMap(rawMap);
}
}
我的问题是:如果转换不可能,我该怎么办?抛出Jackson的一个异常是有意义的,例如
JsonMappingException
,但该异常已被检查,并且
convert
不允许任何已检查的异常

那我该怎么办呢。抛出一个
RuntimeException

(答案很简单,但由于我在互联网上找不到关于这个问题的任何信息,我想我还是会分享它。)

,如果无法转换某些内容,则抛出任何
运行时异常
是正确的做法。然后,Jackson将此异常包装在一个
JsonMappingException
中,因此产生的行为与其他解析错误相同