Source code for openff.evaluator.workflow.exceptions

from openff.evaluator.utils.exceptions import EvaluatorException


[docs]class WorkflowException(EvaluatorException): """An exception which was raised while executing a workflow protocol. """ def __init__(self, message=None, protocol_id=None): """Constructs a new EvaluatorException object. Parameters ---------- message: str or list of str Information about the raised exception. protocol_id: str The id of the protocol which was the exception. """ super(WorkflowException, self).__init__(message) self.protocol_id = protocol_id def __getstate__(self): state = super(WorkflowException, self).__getstate__() if self.protocol_id is not None: state["protocol_id"] = self.protocol_id return state def __setstate__(self, state): super(WorkflowException, self).__setstate__(state) if "protocol_id" in state: self.protocol_id = state["protocol_id"] def __str__(self): base_str = super(WorkflowException, self).__str__() return f"{self.protocol_id} failed to execute.\n\n{base_str}"