Error type descriptions
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
The error types are declared in gdeverrs.h
and are defined in sub-sections of this page.
DETYPE_CONTINUE
Error type
This is the default error type. It means that the RIP can continue output. However, if the accompanying error code is anything other than DERR_NONE
, the RIP construes this as a request to print a message and/or icon in the Output Controller. It calls the selectors D_ERROR_TEXT
and D_ERROR_ICON
to obtain any message or icon associated with the error code.
This is the error type used for making status reports or issuing warnings, without stopping page out‐ put. You might use it with DERR_BUSY
, for instance, when an inkjet printer is performing a periodic head clean, or a laserprinter is warming‐up, as an alternative to DETYPE_RESEND
, which might result in ejecting unused media, or re‐RIPing of the job if output is direct.
DETYPE_RESEND
Class 1 error type
This error type means that the current page was not printed successfully. The plugin should be able to recover from the error soon, so the RIP should re‐send the page. It is most appropriate for dealing with transient errors, since the page is aborted but immediately resent: the RIP moves it to the Output Controller's Held queue, and when the error condition has been cleared, moves it back to the Active queue.
The RIP loops calling D_IDLE
and D_CLEAR_ERROR
until the DETYPE
value of d_error
changes. What happens then depends on the new error type.
If the new error type is DETYPE_CONTINUE
, the RIP assumes that the plugin has cleared the error. In response, the RIP calls D_IDLE
for 2 seconds to give the plugin a chance to do any final clearing up required and then closes the current page by calling D_CLOSE
with the devCloseParam
's c_abort
flag set.
The RIP then tries to resend the page, following the normal page‐output call sequence.
If the new error type is anything other than DETYPE_CONTINUE
, the RIP assumes that the error has become more serious, and abandons dealing with the current error report to deal with the new one.
DETYPE_ABORT
Class 2 error type
This error type means that an error has occurred from which the plugin cannot recover by itself, and that the RIP should abort output of the current page and stop sending further pages for output.
The page is moved from the Current Job slot back to the Output Controller's Active queue so that it can be resubmitted when the user has cleared the problem. If output is direct (no Output Controller), the RIP deletes the page.
The RIP calls D_CLEAR_ERROR
once in acknowledgment of the error, then the page is closed by calling D_CLOSE
with the c_abort
flag set, unless the error type is changed to DETYPE_CANCEL
or DETYPE_CANCEL_AND_DISABLE
. If so, the RIP assumes that the error has become more serious, and abandons dealing with the current error report to deal with the new one.
DETYPE_CANCEL
Class 1 error type
This error type means that some problem has arisen, and the page may or may not have been output. It is most appropriate for errors where an error local to the current page means that it should be aborted and not resent. The RIP sends the page to the Output Controller's Held queue. If output is direct (no Output Controller), the RIP deletes the page.
The RIP loops calling D_IDLE
and D_CLEAR_ERROR
, to give the plugin a chance to perform any necessary clean‐up operations, until the error type changes. What happens then depends on the new error type.
If it changes to DETYPE_CANCEL_AND_DISABLE
, the RIP handles the error as if it was the original error. Otherwise, the RIP calls D_IDLE
for a further 2 seconds, to give the plugin a chance to do any final clearing up, and then closes the current page by calling D_CLOSE
with the c_abort
flag set.
The RIP then returns to the rest of the job, using the normal page‐output call sequence.
DETYPE_CANCEL_AND_DISABLE
Class 2 error type
This error type is similar to DETYPE_CANCEL
, except that it is a Class 2 error, so the RIP will not
give repeated D_IDLE
or D_CLEAR_ERROR
calls to allow the plugin to recover. The current page is aborted and moved to the Output Controller's Held queue, or deleted if there is no Output Controller. All further output is disabled.
As with the DETYPE_CANCEL
error type, this type implies that there is something about the page that means there is no point trying to send it to this plugin. It might be that the raster format of the output data is inappropriate for the plugin.
The RIP calls D_CLEAR_ERROR
to acknowledge the error, and then closes the page by calling D_CLOSE
with the abort flag set. It waits until the error is clear before sending any more pages.