Since ByteArrayOutputStream simply writes to memory, an IOException should never occur. However, because of the contract of the OutputStream interface, all stream operations define IOException in their throws clause.
What is the correct way to "handle" this never-occurring IOException? Simply wrap operations in an empty try-catch block?
Or are there any actual situations where ByteArrayOutputStream could throw an exception?
(See also: How can I handle an IOException which I know can never be thrown, in a safe and readable manner?)
EDIT
As Jon points out, ByteArrayOutputStream doesn't declare a throws clause on the write methods it defines -- however, it inherits write(byte[]) from OutputStream, and that one does throw IOEXception (quite odd that BAOS wouldn't override this method, as it could replace the superclass version -- which writes one byte at a time -- with a far more efficient arraycopy call)