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}"