With the move to RuntimeException's as a baseline in Jackson-3, there are some unnecessary throws IOException declarations in the method signatures of readValue and writeValue methods int he IonObjectMapper class. Could these throws declarations be removed?
There is one method - writeValueAsIonValue which technically does have an uncaught IOException, but given that it both opens and closes the writer to just in-memory objects, I don't see how an actual IOException would be anything other than an illegal state. I am not sure if there is a conventional way to handle this, but it would be nice to see this caught and rethrown as a RuntimeException base as well (is there a good corresponding JacksonException that fits? JacksonIOException?)
With the move to
RuntimeException's as a baseline in Jackson-3, there are some unnecessarythrows IOExceptiondeclarations in the method signatures ofreadValueandwriteValuemethods int heIonObjectMapperclass. Could thesethrowsdeclarations be removed?There is one method -
writeValueAsIonValuewhich technically does have an uncaughtIOException, but given that it both opens and closes the writer to just in-memory objects, I don't see how an actual IOException would be anything other than an illegal state. I am not sure if there is a conventional way to handle this, but it would be nice to see this caught and rethrown as aRuntimeExceptionbase as well (is there a good corresponding JacksonException that fits?JacksonIOException?)