[ Event Handling | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

event(+EventId)

The event EventId is raised and the corresponding error handler is executed.
EventId
Atom or event Handle, or a list of atoms and/or event handles.

Description

The event EventId is raised and the corresponding error handler is executed.

Other ways to raise events are by

   - one of the builtins error/2 or error/3.
   - posting an event from external code using ec_post_event().
   - an interrupt whose handler has been specified as event/1.
The latter two have the effect of dynamically inserting an event/1 goal into the current execution at the next synchronous point, which is usually just before the next predicate call.

Fail Conditions

Fails if the handler fails

Resatisfiable

Resatisfiable if the handler is resatisfiable

Exceptions

(4) instantiation fault
EventId is not ground
(5) type error
EventId is instantiated, but neither an atom nor an event handle, or a list of them
(32) no handler for event
No handler is associated to an atomic EventId

Examples

    ?- event(hello).
    warning: no handler for event in hello
    yes.

    ?- set_event_handler(hello, writeln/1).    
    yes.

    ?- event(hello).
    hello
    yes.

    ?- event([hello,hello]).
    hello
    hello
    Yes (0.00s cpu)

See Also

event_create / 3, is_event / 1, error / 2, error / 3, reset_event_handler / 1, set_event_handler / 2, set_interrupt_handler / 2