Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 - Fatal编程技术网

在Java中从Jackson序列化程序引发自定义异常

在Java中从Jackson序列化程序引发自定义异常,java,json,jackson,Java,Json,Jackson,我想知道是否有人能帮上忙——我正在编写一个自定义Json序列化程序,从JsonSerializer扩展而来,我想包装任何可以在我自己的自定义异常(从IOException扩展而来)中抛出的异常。但是,每当我运行任何单元测试(使用junit)以确认抛出异常时,它都会失败,并说- Expected: (exception with message a string containing "Unable to serialize!" and an instance of com.cybersource

我想知道是否有人能帮上忙——我正在编写一个自定义Json序列化程序,从JsonSerializer扩展而来,我想包装任何可以在我自己的自定义异常(从IOException扩展而来)中抛出的异常。但是,每当我运行任何单元测试(使用junit)以确认抛出异常时,它都会失败,并说-

Expected: (exception with message a string containing "Unable to serialize!" and an instance of com.cybersource.profile.serializer.MySerializerException)
 got: <com.fasterxml.jackson.databind.JsonMappingException: Unexpected IOException (of type com.cybersource.profile.serializer.MySerializerException): Unable to serialize!>
应为:(异常消息为包含“无法序列化!”的字符串和com.cybersource.profile.serializer.MySerializerException的实例)
得到了:

你知道如何解决这个问题吗,还是不可能抛出一个自定义异常?

已经整理好了-结果是,对于一个自定义异常,你不应该从IOException扩展,而应该从JsonProcessingException扩展

您必须向我们提供代码。如果没有Junit代码,我们真的无法帮助您。具体取决于:
IOException
s可以抛出,但
JsonProcessingException
的好处是它们将用额外的信息包装,而
IOException
s将按原样传播(因为它们被假定为“真实的”)低级I/O问题)。所以你可能更擅长扔JPE,同意吗。