class LabError(Exception): pass class LabNotFoundError(LabError): pass class LabSpecError(LabError): pass class LabSpecValidationError(LabSpecError): pass class LabGuideNotFoundError(LabError): pass class LabGuideValidationError(LabError): pass class LabRedeemFailedError(LabError): pass class LabAccessForbiddenError(LabError): pass class LabExitForbiddenError(LabError): """ Raised when trying to exit a lab instance that is not in an allowed status. Lab can only be exited when status is running, timeout, or creating_failed. """ pass class LabTaskError(LabError): pass class LabTaskUnrecoverableError(LabTaskError): """ The error is unrecoverable, there is no need to retry it """ pass class LabTaskRecoverableError(LabTaskError): """ The error is recoverable, can be retried to succeed. NOTE: There is a retry count limit, if the error persists, the task will be marked as failed. """ pass