The iid of the interface that defined the error, or nil
if none. The iid can be a symbol naming the interface or a refguid foreign pointer.
A string giving the ProgID for the class that raised the error, or nil
if none.
A string giving the textual description of the error, or nil
if none.
A string giving the path of the help file that describes the error, or nil
if none.
An integer giving the help context id for the error, or nil
if none.
The function set-error-info
allows the various components of the error information to be set for the current Automation method. It should only be called within the dynamic scope of the body of a define-com-method
definition. The value DISP_E_EXCEPTION
can be returned as the hresult
of the method to indicate failure.
(define-com-method (i-robot rotate)
((this i-robot-impl)
(axis :in)
(angle-delta :in))
(let ((joint (find-joint axis)))
(if joint
(progn
(rotate-joint joint)
S_OK)
(set-error-info :iid 'i-robot
:description "Bad joint."))))
LispWorks COM/Automation User Guide and Reference Manual - 14 Feb 2015