Tagged input and output streams
-------------------------------
Key: IO-192
URL: https://issues.apache.org/jira/browse/IO-192
Project: Commons IO
Issue Type: New Feature
Components: Streams/Writers
Reporter: Jukka Zitting
Priority: Minor
I'd like to introduce two new proxy streams, TaggedInputStream and
TaggedOutputStream, that tag all exceptions thrown by the proxied streams. The
goal is to make it easier to detect the source of an IOException when you're
dealing with multiple different streams. For example:
{code}
InputStream input = ...;
OutputStream output = ...;
TaggedOutputStream proxy = new TaggedOutputStream(output);
try {
IOUtils.copy(input, proxy);
} catch (IOException e) {
if (proxy.isTagged(e)) {
// Could not write to the output stream
// Perhaps we can handle that error somehow (retry, cancel?)
e.initCause(); // gives the original exception from the proxied stream
} else {
// Could not read from the input stream, nothing we can do
throw e;
}
}
{code}
I'm working on a patch to implement such a feature.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.