|  | 
| PathName1 is a variable |  | instantiation_error | 
|  | 
| PathName1 is neither a variable nor an atom |  | type_error(atom, PathName1) | 
|  | 
| PathName1 is an atom but not a valid pathname |  | domain_error(os_path, PathName1) | 
|  | 
| PathName2 is a variable |  | instantiation_error | 
|  | 
| PathName2 is neither a variable nor an atom |  | type_error(atom, PathName2) | 
|  | 
| PathName2 is an atom but not a valid pathname |  | domain_error(os_path, PathName2) | 
|  | 
| an operating system error occurs and value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| PathName is a variable |  | instantiation_error | 
|  | 
| PathName is neither a variable nor an atom |  | type_error(atom, PathName) | 
|  | 
| PathName is an atom but not a valid pathname |  | domain_error(os_path, PathName) | 
|  | 
| Permission is a partial list or a list with an element
which is a variable |  | instantiation_error | 
|  | 
| Permission is neither an atom nor partial list or a list |  | type_error(list, Permission) | 
|  | 
| an element E of the Permission list is neither a
variable nor an atom |  | type_error(atom, E) | 
|  | 
| an element E of the Permission is an atom but not
a valid permission |  | domain_error(os_file_permission, Permission) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| PathName is a variable |  | instantiation_error | 
|  | 
| PathName is neither a variable nor an atom |  | type_error(atom, PathName) | 
|  | 
| PathName is an atom but not a valid pathname |  | domain_error(os_path, PathName) | 
|  | 
| Property is neither a variable nor a file property term |  | domain_error(os_file_property, Property) | 
|  | 
| Property = absolute_file_name(E),
real_file_name(E), type(E) or permission(E) and
E is neither a variable nor an atom |  | type_error(atom, E) | 
|  | 
| Property = last_modification(DateTime) and
DateTime is neither a variable nor a compound term |  | type_error(compound, DateTime) | 
|  | 
| Property = last_modification(DateTime) and
DateTime is a compound term but not a structure dt/6 |  | domain_error(date_time, DateTime) | 
|  | 
| Property = size(E) or
last_modification(DateTime) and DateTime is a structure
dt/6 but an element E is neither a variable nor an
integer |  | type_error(integer, E) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Template is a variable |  | instantiation_error | 
|  | 
| Template is neither a variable nor an atom |  | type_error(atom, Template) | 
|  | 
| Template is an atom but not a valid pathname |  | domain_error(os_path, Template) | 
|  | 
| PathName is neither a variable nor an atom |  | type_error(atom, PathName) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Directory is a variable |  | instantiation_error | 
|  | 
| Directory is neither a variable nor an atom |  | type_error(atom, Directory) | 
|  | 
| Directory is an atom but not a valid pathname |  | domain_error(os_path, Directory) | 
|  | 
| Prefix is a variable |  | instantiation_error | 
|  | 
| Prefix is neither a variable nor an atom |  | type_error(atom, Prefix) | 
|  | 
| PathName is neither a variable nor an atom |  | type_error(atom, PathName) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Command is a variable |  | instantiation_error | 
|  | 
| Command is neither a variable nor an atom |  | type_error(atom, Command) | 
|  | 
| Arguments is a partial list or a list with an element
which is a variable |  | instantiation_error | 
|  | 
| Arguments is neither a partial list nor a list |  | type_error(list, Arguments) | 
|  | 
| an element E of the Arguments list is neither a
variable nor an atom |  | type_error(atom, E) | 
|  | 
| Status is neither a variable nor an integer |  | type_error(integer, Status) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Command is a variable |  | instantiation_error | 
|  | 
| Command is neither a variable nor an atom |  | type_error(atom, Command) | 
|  | 
| Mode is a variable |  | instantiation_error | 
|  | 
| Mode is neither a variable nor an atom |  | type_error(atom, Mode) | 
|  | 
| Mode is an atom but neither read nor
write. |  | domain_error(io_mode, Mode) | 
|  | 
| Stream is not a variable |  | type_error(variable, Stream) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Command is a variable |  | instantiation_error | 
|  | 
| Command is neither a variable nor an atom |  | type_error(atom, Command) | 
|  | 
| StreamIn is not a variable |  | type_error(variable, StreamIn) | 
|  | 
| StreamOut is not a variable |  | type_error(variable, StreamOut) | 
|  | 
| StreamErr is not a variable |  | type_error(variable, StreamErr) | 
|  | 
| Pid is not a variable |  | type_error(variable, Pid) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Reads (or Writes) is a partial list or a list
with an element E which is a variable |  | instantiation_error | 
|  | 
| Reads is neither a partial list nor a list |  | type_error(list, Reads) | 
|  | 
| Writes is neither a partial list nor a list |  | type_error(list, Writes) | 
|  | 
| ReadyReads is neither a partial list nor a list |  | type_error(list, ReadyReads) | 
|  | 
| ReadyWrites is neither a partial list nor a list |  | type_error(list, ReadyWrites) | 
|  | 
| an element E of the Reads (or Writes)
list is neither a stream-term or alias nor an integer |  | domain_error(stream_or_alias, E) | 
|  | 
| an element E of the Reads (or Writes)
list is not a selectable item |  | domain_error(selectable_item, E) | 
|  | 
| an element E of the Reads (or Writes)
list is an integer < 0 |  | domain_error(not_less_than_zero, E) | 
|  | 
| an element E of the Reads (or Writes)
list is a stream-tern or alias not associated with an open stream |  | existence_error(stream, E) | 
|  | 
| an element E of the Reads list is associated to
an output stream |  | permission_error(input, stream, E) | 
|  | 
| an element E of the Writes list is associated to
an input stream |  | permission_error(output, stream, E) | 
|  | 
| TimeOut is a variable |  | instantiation_error | 
|  | 
| TimeOut is neither a variable nor a number |  | type_error(number, TimeOut) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  |