On 01/02/2013 14:35, Mark Sheppard wrote:

Hi Alan,

I think it would be useful to convey some additional information relating the cause of the problem, even for diagnostic purposes.

So analogous to CharacterEncodingException which exists for Charsets, providing a Base64EncodingException and Baes64DecodingException as derived from IOException, (as alluded to previously by Sherman,) could/would be useful. However, as the underlying encapsulating InputStream/FilterOutputStream is no exposed, and hence the overridden read/write methods publicly defined, how would such exceptions be reconciled against the generalized Output/InputStream returned by wrap()?

Alternatively, perhaps throwing an IOException with an embedded Base64Encoding/DecodingException could also be used ?
The exception message is detailed/useful already, it's just whether this needs a specialized IOException or an appropriate cause. If there are good reasons to recover differently to other I/O exceptions then it may make sense. The other useful thing about a specialized exception is that it could carry more context, like the line or position where the stream is corrupted.

-Alan.

Reply via email to