This built-in predicate closes a sink/source, if there is an error during closing of the stream then the stream is not closed.
see also: at_end_of_stream/0 at_end_of_stream/1 close/2 close_user_streams/0 current_input/1 current_output/1 flush_output/0 flush_output/1 open/3 open/4 prolog I/O set_input/1 set_output/1 set_stream_position/2 set_stream_property/2 stream_property/2
| Example | |
| close(user_input). | succeeds if the stream user_input is open and if the stream was successfully closed |
| Exceptions | |
| stream_or_alias is a variable | an instantiation_error exception is thrown |
| stream_or_alias is neither a variable nor a stream term nor an alias | a domain_error(stream_or_alias, Stream) exception is thrown, the variable Stream is assigned the incorrect stream_or_alias term |
| stream_or_alias is not associated with an open stream | an existence_error(stream, Stream) exception is thrown |