Skip To Content

WorkflowExecutionStepError

Summary

The WorkflowExecutionStepError exception is raised when a workflow step encounters an execution error.

Discussion

The WorkflowExecutionStepError exception is raised if the workflow step cannot be executed. For example, trying to execute an unsupported step such as DefineAOI, EditExtendedProperties, LaunchArcMap, LaunchGP, OpenMap, and SelectDataWorkspace will raise the error.

Code sample

The WorkflowExecutionStepError exception is used below to handle any errors that result from trying to execute a step in the workflow.

import arcpy, sys, traceback

#Define the callback response function. In this case it will prompt the user using the console to respond.
def callback(question, responses):

    # Print out the expected responses
    for resp in responses:
        print("[%i] %s" % (resp[1], resp[0]))
		
    # Prompt the user to respond
    val = int(input("%s - %s: " % (question[1], question[0])))
	
    # Return their response. Currently only returning the value, but could also return a note (for questions) and the name of the response
    return (val, "", "")

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Get a Job for Execution
job = conn.getJob(77601)

try:
	#Execute the current Step in the workflow
	result = job.executeStep(callback=callback)
    
	print ("Executing the first step returned %i" % result.returnCode)
	
	#Run the next Step in the workflow
        result = job.executeStep(callback=callback) 
    
	#Mark the step as complete
	job.markStepAsComplete(callback=callback) 

#Raised when a step in the workflow encounters an execution error	
except wmx.WorkflowExecutionStepError as e:
    print ("Step failed to execute:")
    print("-"*60)
    traceback.print_exc()
	
#Raised when a workflow encounters an execution error
except wmx.WorkflowExecutionError as f:
    print ("Workflow failed to execute:")
    print("-"*60)
    traceback.print_exc()