All predicates that take a stream argument will raise the following exceptions:
Stream argument is not ground
Stream is not an input (or output) stream type.
Stream is syntactically valid but does not name an open stream.
Stream names an open stream but the stream is not open for the required operation, or has reached the end of stream on input, or is binary when text is required, or vice versa, or there was an error in the bottom layer of write function of the stream.
Some operating system dependent error occurred during I/O.
The reference page for each stream predicate will simply refer to these as “Stream errors” and will go on to detail other exceptions that may be raised for a particular predicate.