[ Event Handling | 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