6.1 Errors

6.1.1 !already_has_parent

See also
event_node->son

6.1.2 !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 also
!argument_type

6.1.3 !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 also
- !argument_count
- !bad_selector

6.1.4 !backup_file

See also
file->backup

6.1.5 !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:

object
Raised by source_sink<-object if the file is not created using object->save_in_file
image
Raised by image->load if the file does not contain an image (bitmap) description in one of the formats recognised by XPCE,.
See also
- image->load
- source_sink<-object

6.1.6 !bad_file_name

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

6.1.7 !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 also
- !converted_return_value
- get_method-return_type

6.1.8 !bad_selector

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

See also
!argument_type

6.1.9 !bad_slot_value

See also
object->_check

6.1.10 !bad_type_syntax

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

See also
type<-convert

6.1.11 !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 also
object->send_vector

6.1.12 !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 source_sink<-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 also
object->save_in_file

6.1.13 !checked_objects

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

See also
object->_check

6.1.14 !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 also
- get_method-return_type
- !bad_return_value

6.1.15 !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 also
object->_check

6.1.16 !freed_cell_value

See also
- !freed_slot_value
- object->_check

6.1.17 !freed_element_value

See also
- !freed_slot_value
- object->_check

6.1.18 !freed_key_value

See also
- !freed_value_value
- !freed_slot_value
- object->_check

6.1.19 !freed_slot_value

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

See also
- !freed_value_value
- !freed_key_value
- !freed_element_value
- !freed_cell_value
- object->_check

6.1.20 !freed_value_value

See also
- !freed_key_value
- !freed_slot_value
- object->_check

6.1.21 !killed_on_exit

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

See also
- pce-exit_messages
- class process

6.1.22 !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).

6.1.23 !no_variable

See also
object->_check

6.1.24 !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.

6.1.25 !replaced_colour

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