[ Event Handling | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]
error_id(+N, ?Message)
Succeeds if Message unifies with the error message string defined for error
number N.
- +N
- Positive integer.
- ?Message
- String or variable.
Description
This predicate unifies Message with the message string defined for error
number N.
Fail Conditions
Fails if Message does not unify with the error message string defined
for error number N.
Resatisfiable
No.
Exceptions
- (4) instantiation fault
- N is not instantiated.
- (5) type error
- N is instantiated, but not to an integer.
- (5) type error
- Message is instantiated, but not to a string.
Examples
Success:
error_id(80,M).
(gives M="not a module").
error_id(70,M).
(gives M="accessing an undefined dynamic procedure").
error_id(60,M).
(gives M="accessing an undefined procedure").
error_id(90,M).
(gives M="declaration not at module beginning").
[eclipse]: [user].
warning_handler(X, Where) :-
write('(warning) '),
error_id(X, Message),
write(Message),
write(' in '),
write(Where).
user compiled 332 bytes in 0.05 seconds
[eclipse]: warning_handler(60,dummy).
(warning) accessing an undefined procedure in dummy
yes.
[eclipse]: [user].
fail_warning(N, Where) :-
write("Warning: Failure due to "),
error_id(N, Errmsg),
write(Errmsg),
write(":"-Where),
fail.
user compiled 328 bytes in 0.00 seconds
yes.
[eclipse]: set_event_handler(68, fail_warning/2).
yes.
[eclipse]: p.
Warning: Failure due to calling an undefined procedure: - p
no.
Fail:
error_id(60,"procedure not defined").
Error:
error_id(N,"not a module"). (Error 4).
error_id(1.0,M). (Error 5).
error_id(1,atom). (Error 5).
See Also