void error(@CheckForNull Throwable e) throws IOExceptionCloses the stream and causes the reading
InputStreamto report an error.
This method is somewhat like
OutputStream.close(), in that it signals the end of a stream. In addition to what the close method does, this method will cause the
InputStream.read()method (or any other overloaded versions) to throw an
IOExceptionwith the given throwable as the cause.
InputStreamwill report an error only after all the data that has written before is read. IOW, the error will not magically jump over the data that was written.
This is useful to propagate error over a pipe. If used over a channel with the remoting library that doesn't yet support this, or if the
OutputStreamisn't connecting to an
InputStream, this method behaves exactly like
OutputStreamis already closed or error state is set, this method will be no-op.