SpiffWorkflow Exceptions¶
Details about the exceptions and exception hierarchy within SpiffWorkflow
SpiffWorkflowException¶
Base exception for all exceptions raised by SpiffWorkflow
ValidationException¶
Extends SpiffWorkflowException
Thrown during the parsing of a workflow.
Attributes/Methods
- tag: The type of xml tag being parsed
- id: the id attribute of the xml tag, if available.
- name: the name attribute of the xml tag, if available.
- line_number: the line number where the tag occurs.
- file_name: The name of the file where the error occurred.
- message: a human readable error message.
WorkflowException¶
When an error occurs with a Task Specification (maybe should have been called a SpecException)
Extends SpiffWorkflowException
Attributes/Methods
- task_spec: The TaskSpec - the specific Task, Gateway, etc… that caused the error to happen.
- error: a human readable error message describing the problem.
WorkflowDataException¶
When an exception occurs moving data between tasks and Data Objects (including data inputs and data outputs.)
Extends WorkflowException
Attributes/Methods
(in addition to the values in a WorkflowException)
- task: The specific task (not the task spec, but the actual executing task)
- data_input: The spec of the input variable
- data_output: The spec of the output variable
WorkflowTaskException¶
Extends WorkflowException
It will accept the line_number and error_line as arguments - if the underlying error provided is a SyntaxError it will try to derive this information from the error. If this is a name error, it will attempt to calculate a did-you-mean error_msg.
Attributes/Methods
(in addition to the values in a WorkflowException)
- task: The specific task (not the task spec, but the actual executing task)
- error_msg: The detailed human readable message. (conflicts with error above)
- exception: The original exception this wraps around.
- line_number The line number that contains the error
- offset The point in the line that caused the error
- error_line The content of the line that caused the error.
- get_task_trace: Provided a specific Task, will work it’s way through the workflow/sub-processes and call activities to show where an error occurred. Useful if the error happened within a deeply nested structure (where call activities include call activities ….)
- did_you_mean_name_error: Compares a missing data value with the contents of the data