2013-07-22 1 views
0

Мне было интересно, может ли кто-нибудь помочь - я пишу пользовательский сериализатор Json, распространяющийся от JsonSerializer, и я хочу обернуть любые исключения, которые могут быть выбраны в моем собственном исключении, IOException. Тем не менее, всякий раз, когда я запускать любые модульные тесты (с помощью JUnit), чтобы подтвердить, что исключение он терпит неудачу, говоря, что -Throwing custom exception из Jackson Serializer в Java

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!> 

Любая идея, как обойти эту проблему, или это не возможно, чтобы бросить обычай исключение?

Заранее благодарен!

+2

Вам необходимо предоставить нам код. – Makky

+0

Без вашего кода Junit мы действительно не можем вам помочь. –

ответ

0

Получил его сортировку - получается для специального исключения, вы не должны распространяться на IOException, но JsonProcessingException!

+0

Зависит от того, что 'IOException' может быть выбрано, но преимущество' JsonProcessingException' заключается в том, что они будут обернуты дополнительной информацией, тогда как 'IOException' просто будет распространяться как есть (так как они предполагаются «реальными», проблемы с уровнем ввода/вывода). Поэтому вы, вероятно, лучше бросаете JPE, согласились. – StaxMan