src/swipl-devel/packages/xpce/man/refmanual/md/errors.md

Errors {#sec-errors}

!already_has_parent {#error-already_has_parent}

@see event_node->son

!argument_count {#error-argument_count}

This error is raised by variables and methods (i.e. behaviour) when the number of arguments supplied cannot be matched against the type-checking vector.

@see !argument_type

!argument_type {#error-argument_type}

This error is raised by variables and methods (i.e. behaviour) and various other methods to indicate that the n-th argument is not of the requested type. Argument counting starts after the selection:

send(@display, inform, 'Hello %s', universe).
              ^^1-st^^  ^^2-nd^^

@see !argument_count @see !bad_selector

!backup_file {#error-backup_file}

@see file->backup

!bad_file {#error-bad_file}

This error is raised when the system attempts to read a file that should be in a particular format, but the file is not of this format. Common types:

@see image->load @see file<-object

!bad_file_name {#error-bad_file_name}

This error is raised if an illegal filename is encountered. A filename is considered illegal iff:

!bad_return_value {#error-bad_return_value}

This error is generated if a method returns a value that cannot be converted into the type get_method <-return_type.

@see !converted_return_value @see get_method-return_type

!bad_selector {#error-bad_selector}

The error is generated by the virtual machine operations send() and get() if the selector cannot be translated into a name.

@see !argument_type

!bad_slot_value {#error-bad_slot_value}

@see object->_check

!bad_type_syntax {#error-bad_type_syntax}

This error is generated on a syntax error in a type specification. See type <-convert for valid type declarations.

@see type<-convert

!bad_vector_usage {#error-bad_vector_usage}

Raised by the various methods that accept a vector as a sequence of arguments. The syntax of such methods is always:

unchecked..., vector, [int]

See object ->send_vector

@see object->send_vector

!cannot_save_object {#error-cannot_save_object}

This error is raised by object ->save_in_file if it encounters an object it cannot save. The object will be saved as @nil.

An object cannot be saved iff is has instance variables of type alien:<C-type> and the object's class variable save_function is not defined (i.e. 0).

The methods object ->save_in_file and file <-object are intended to save data objects and not to save UI objects. PCE can save almost all data objects, but only very few of the X-window related objects.

@see object->save_in_file

!checked_objects {#error-checked_objects}

This message is raised by object ->_check to indicate the number of objects it has checked.

@see object->_check

!converted_return_value {#error-converted_return_value}

This error is raised if the value returned by a get_method object's implementation does not match get_method <-return_type but could be translated. The method will return with the translated type.

@see get_method-return_type @see !bad_return_value

!creating {#error-creating}

Format: %O: Creating flag set This error is generated by object ->_check (normally invoked through checkpce/0). It indicates that the object was allocated, but it's ->initialise method has not (yet) returned. This may be the case if a fatal error was trapped or a Prolog abort was generated during the execution of the ->initialise method. The object should be expected to be in inconsistent state. In most cases you can safely continue using the image though as the object should normally not be referenced.

@see object->_check

!freed_cell_value {#error-freed_cell_value}

@see !freed_slot_value @see object->_check

!freed_element_value {#error-freed_element_value}

@see !freed_slot_value @see object->_check

!freed_key_value {#error-freed_key_value}

@see !freed_value_value @see !freed_slot_value @see object->_check

!freed_slot_value {#error-freed_slot_value}

Raised by object ->_check to indicate that a particular slot contains an object that has been freed.

@see !freed_value_value @see !freed_key_value @see !freed_element_value @see !freed_cell_value @see object->_check

!freed_value_value {#error-freed_value_value}

@see !freed_key_value @see !freed_slot_value @see object->_check

!killed_on_exit {#error-killed_on_exit}

PCE kills all inferior processes while exiting. This message is printed for each process killed.

@see pce-exit_messages @see class process

!no_behaviour {#error-no_behaviour}

The error no_behaviour is raised by the virtual machine operations send() and get() if there is no implementation for the requested selector on the requested object.

By changing the <-kind of this error, not-implemented behaviour may be ignored (<-kind: ignored); just printed (<-kind: warning) or trap the tracer (<-kind: error). By default, undefined behaviour is just printed. For program development we advice to switch <-kind of this error to error. This may be achieved using the Error Browser or using the following line in your ~/.xpcerc:

:- send(error(no_behaviour), kind, error).

!no_variable {#error-no_variable}

@see object->_check

!replaced_by_colour {#error-replaced_by_colour}

%O: replaced by colour(%N) The X11 versions allows colours to be replaced by pixmap objects, The MS-Windows version does not allow this. If a pixmap object is specified as a colour, the system will check whether the pixmap is derived from one of the standard grey-patterns (@grey25_image, etc.) and replace the pixmap by a grey colour. If this fails it will use colour(black). This error is raised if a pixmap is replaced.

You may redefine the mapping by attaching an object ->attribute named replacement_colour to the pixmap.

!replaced_colour {#error-replaced_colour}

format: %O: replaced by colour(%N) A colour was replaced by a (close) colour because the system colour map is full.



Try the rswipl package in your browser

Any scripts or data that you put into this service are public.

rswipl documentation built on June 16, 2026, 5:07 p.m.