Class FlowExecutionException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.codingapi.springboot.framework.exception.LocaleMessageException
com.codingapi.flow.exception.FlowException
com.codingapi.flow.exception.FlowExecutionException
All Implemented Interfaces:
Serializable

public class FlowExecutionException extends FlowException
Flow execution exception

Thrown when an error occurs during flow execution For example: script execution error, node execution error, action execution error, etc.

Since:
1.0.0
See Also:
  • Constructor Details

    • FlowExecutionException

      public FlowExecutionException(String code, String message)
      Constructor
      Parameters:
      code - error code
      message - error message
    • FlowExecutionException

      public FlowExecutionException(String code, String message, Throwable cause)
      Constructor
      Parameters:
      code - error code
      message - error message
      cause - cause
  • Method Details

    • scriptExecutionError

      public static FlowExecutionException scriptExecutionError(String scriptType, Throwable cause)
      Script execution error
      Parameters:
      scriptType - script type
      cause - cause
      Returns:
      exception
    • routerNodeNotFound

      public static FlowExecutionException routerNodeNotFound(String nodeId)
      Router node not found
      Parameters:
      nodeId - node ID
      Returns:
      exception
    • removeWorkflowError

      public static FlowExecutionException removeWorkflowError()
      remove version error
      Returns:
      exception
    • createRecordSizeError

      public static FlowExecutionException createRecordSizeError()
      Create record size error
      Returns:
      exception
    • operatorNotInScope

      public static FlowExecutionException operatorNotInScope(String actionType)
      Operator not in scope
      Parameters:
      actionType - action type (delegate/transfer/addAudit)
      Returns:
      exception
    • operatorCountExceeded

      public static FlowExecutionException operatorCountExceeded(String actionType, int maxOperatorCount)
      Operator count exceeds the max count
      Parameters:
      actionType - action type (delegate/transfer/addAudit)
      maxOperatorCount - max operator count
      Returns:
      exception
    • customActionNextNotFound

      public static FlowExecutionException customActionNextNotFound()
      Custom action next not found
      Returns:
      exception
    • subProcessLoop

      public static FlowExecutionException subProcessLoop()
      Sub process loop detected

      The same sub process node has been triggered repeatedly in the flow chain, which means the sub process creates itself or an ancestor flow.

      Returns:
      exception
    • subProcessMaxDepth

      public static FlowExecutionException subProcessMaxDepth(int maxDepth)
      Sub process nesting depth exceeds the limit
      Parameters:
      maxDepth - max sub process depth
      Returns:
      exception
    • errorTriggerLoop

      public static FlowExecutionException errorTriggerLoop()
      Error trigger node loop detected

      The error trigger jumps back to a node that has already been visited during the current record generation, which would cause infinite recursion.

      Returns:
      exception
    • errorTriggerDepthExceeded

      public static FlowExecutionException errorTriggerDepthExceeded(int maxDepth)
      Error trigger recursion depth exceeds the limit
      Parameters:
      maxDepth - max nest depth
      Returns:
      exception
    • invalidJumpTarget

      public static FlowExecutionException invalidJumpTarget(String nodeType)
      Invalid jump target

      The error trigger / reject action jumps to a node type that cannot generate records (e.g. notify node or sub process node), which would silently stall the flow instead of producing a new todo.

      Parameters:
      nodeType - node type
      Returns:
      exception
    • nodeLoopDepthExceeded

      public static FlowExecutionException nodeLoopDepthExceeded(int maxDepth)
      Node execution count exceeds the limit

      The same node has been executed too many times in the flow instance chain, which indicates a loop chain (e.g. A -> B -> C -> B) instead of a normal forward progress.

      Parameters:
      maxDepth - max nest depth
      Returns:
      exception