public class TaggedWriter extends ProxyWriter
TaggedIOException
class to wrap all thrown
IOException
s. See below for an example of using this class.
TaggedReader reader = new TaggedReader(...); try { // Processing that may throw an IOException either from this reader // or from some other IO activity like temporary files, etc. writeToWriter(writer); } catch (IOException e) { if (writer.isCauseOf(e)) { // The exception was caused by this writer. // Use e.getCause() to get the original exception. } else { // The exception was caused by something else. } }
Alternatively, the throwIfCauseOf(Exception)
method can be
used to let higher levels of code handle the exception caused by this
writer while other processing errors are being taken care of at this
lower level.
TaggedWriter writer = new TaggedWriter(...); try { writeToWriter(writer); } catch (IOException e) { writer.throwIfCauseOf(e); // ... or process the exception that was caused by something else }
TaggedIOException
out
Constructor and Description |
---|
TaggedWriter(Writer proxy)
Creates a tagging decorator for the given writer.
|
Modifier and Type | Method and Description |
---|---|
protected void |
handleIOException(IOException e)
Tags any IOExceptions thrown, wrapping and re-throwing.
|
boolean |
isCauseOf(Exception exception)
Tests if the given exception was caused by this writer.
|
void |
throwIfCauseOf(Exception exception)
Re-throws the original exception thrown by this writer.
|
afterWrite, append, append, append, beforeWrite, close, flush, write, write, write, write, write
public TaggedWriter(Writer proxy)
proxy
- writer to be decoratedpublic boolean isCauseOf(Exception exception)
exception
- an exceptiontrue
if the exception was thrown by this writer,
false
otherwisepublic void throwIfCauseOf(Exception exception) throws IOException
TaggedIOException
wrapper created by this decorator, and then unwraps and throws the
original wrapped exception. Returns normally if the exception was
not thrown by this writer.exception
- an exceptionIOException
- original exception, if any, thrown by this writerprotected void handleIOException(IOException e) throws IOException
handleIOException
in class ProxyWriter
e
- The IOException thrownIOException
- if an I/O error occurs.Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.