class NotSupportedError(Exception):
    '''
    Error class that is raised when a feature is not supported by the program.
    '''


class MetadataError(Exception):
    '''
    Error class that is raised when a metadata element cannot be retrieved.
    '''


class SubmissionError(Exception):
    '''
    Error class that is raised when submitted jobs failed.
    '''


class CliArgError(Exception):
    '''
    Error class that is raised when the value of an command line argument is
    invalid.
    '''


class RegexError(Exception):
    '''
    Error class that is raised when a regular expression pattern didn't match.
    '''


class StitchError(Exception):
    '''
    Error class that is raised when an error occurs upon stitching of
    images for the generation of a mosaic.
    '''


class PipelineError(Exception):
    '''
    Base class for jterator pipeline errors.
    '''


class PipelineRunError(PipelineError):
    '''
    Error class that is raised when an error occurs upon running a jterator
    pipeline.
    '''


class PipelineDescriptionError(PipelineError):
    '''
    Error class that is raised when information in pipeline description is
    missing or incorrect.
    '''


class PipelineOSError(PipelineError):
    '''
    Error class that is raised when pipeline related files do not exist
    on disk.
    '''

class WorkflowError(Exception):
    '''
    Base class for workflow errors.
    '''

class WorkflowNextStepError(WorkflowError):
    '''
    Error class that is raised when requirements for progressing to the next
    step are not fulfilled.
    '''

class NotSupportedError(Exception):
    '''
    Error class that is raised when a feature is not supported by the program.
    '''


class MetadataError(Exception):
    '''
    Error class that is raised when a metadata element cannot be retrieved.
    '''


class SubmissionError(Exception):
    '''
    Error class that is raised when submitted jobs failed.
    '''


class CliArgError(Exception):
    '''
    Error class that is raised when the value of an command line argument is
    invalid.
    '''


class RegexError(Exception):
    '''
    Error class that is raised when a regular expression pattern didn't match.
    '''


class StitchError(Exception):
    '''
    Error class that is raised when an error occurs upon stitching of
    images for the generation of a mosaic.
    '''


class PipelineError(Exception):
    '''
    Base class for jterator pipeline errors.
    '''


class PipelineRunError(PipelineError):
    '''
    Error class that is raised when an error occurs upon running a jterator
    pipeline.
    '''


class PipelineDescriptionError(PipelineError):
    '''
    Error class that is raised when information in pipeline description is
    missing or incorrect.
    '''


class PipelineOSError(PipelineError):
    '''
    Error class that is raised when pipeline related files do not exist
    on disk.
    '''


class WorkflowError(Exception):
    '''
    Base class for workflow errors.
    '''


class WorkflowArgsError(WorkflowError):
    '''
    Error class that is raised when arguments of a workflow step are
    not correctly specified.
    '''


class WorkflowNextStepError(WorkflowError):
    '''
    Error class that is raised when requirements for progressing to the next
    step are not fulfilled.
    '''

Add workflow specific error classes
Add workflow specific error classes

  class NotSupportedError(Exception):
      '''
      Error class that is raised when a feature is not supported by the program.
      '''
  
  
  class MetadataError(Exception):
      '''
      Error class that is raised when a metadata element cannot be retrieved.
      '''
  
  
  class SubmissionError(Exception):
      '''
      Error class that is raised when submitted jobs failed.
      '''
  
  
  class CliArgError(Exception):
      '''
      Error class that is raised when the value of an command line argument is
      invalid.
      '''
  
  
  class RegexError(Exception):
      '''
      Error class that is raised when a regular expression pattern didn't match.
      '''
  
  
  class StitchError(Exception):
      '''
      Error class that is raised when an error occurs upon stitching of
      images for the generation of a mosaic.
      '''
  
  
  class PipelineError(Exception):
      '''
      Base class for jterator pipeline errors.
      '''
  
  
  class PipelineRunError(PipelineError):
      '''
      Error class that is raised when an error occurs upon running a jterator
      pipeline.
      '''
  
  
  class PipelineDescriptionError(PipelineError):
      '''
      Error class that is raised when information in pipeline description is
      missing or incorrect.
      '''
  
  
  class PipelineOSError(PipelineError):
      '''
      Error class that is raised when pipeline related files do not exist
      on disk.
      '''
  
+ 
  class WorkflowError(Exception):
      '''
      Base class for workflow errors.
      '''
+ 
+ 
+ class WorkflowArgsError(WorkflowError):
+     '''
+     Error class that is raised when arguments of a workflow step are
+     not correctly specified.
+     '''
+ 
  
  class WorkflowNextStepError(WorkflowError):
      '''
      Error class that is raised when requirements for progressing to the next
      step are not fulfilled.
      '''
  
Add workflow specific error classes
## Code Before:
class NotSupportedError(Exception):
    '''
    Error class that is raised when a feature is not supported by the program.
    '''


class MetadataError(Exception):
    '''
    Error class that is raised when a metadata element cannot be retrieved.
    '''


class SubmissionError(Exception):
    '''
    Error class that is raised when submitted jobs failed.
    '''


class CliArgError(Exception):
    '''
    Error class that is raised when the value of an command line argument is
    invalid.
    '''


class RegexError(Exception):
    '''
    Error class that is raised when a regular expression pattern didn't match.
    '''


class StitchError(Exception):
    '''
    Error class that is raised when an error occurs upon stitching of
    images for the generation of a mosaic.
    '''


class PipelineError(Exception):
    '''
    Base class for jterator pipeline errors.
    '''


class PipelineRunError(PipelineError):
    '''
    Error class that is raised when an error occurs upon running a jterator
    pipeline.
    '''


class PipelineDescriptionError(PipelineError):
    '''
    Error class that is raised when information in pipeline description is
    missing or incorrect.
    '''


class PipelineOSError(PipelineError):
    '''
    Error class that is raised when pipeline related files do not exist
    on disk.
    '''

class WorkflowError(Exception):
    '''
    Base class for workflow errors.
    '''

class WorkflowNextStepError(WorkflowError):
    '''
    Error class that is raised when requirements for progressing to the next
    step are not fulfilled.
    '''

## Instruction:
Add workflow specific error classes
## Code After:
class NotSupportedError(Exception):
    '''
    Error class that is raised when a feature is not supported by the program.
    '''


class MetadataError(Exception):
    '''
    Error class that is raised when a metadata element cannot be retrieved.
    '''


class SubmissionError(Exception):
    '''
    Error class that is raised when submitted jobs failed.
    '''


class CliArgError(Exception):
    '''
    Error class that is raised when the value of an command line argument is
    invalid.
    '''


class RegexError(Exception):
    '''
    Error class that is raised when a regular expression pattern didn't match.
    '''


class StitchError(Exception):
    '''
    Error class that is raised when an error occurs upon stitching of
    images for the generation of a mosaic.
    '''


class PipelineError(Exception):
    '''
    Base class for jterator pipeline errors.
    '''


class PipelineRunError(PipelineError):
    '''
    Error class that is raised when an error occurs upon running a jterator
    pipeline.
    '''


class PipelineDescriptionError(PipelineError):
    '''
    Error class that is raised when information in pipeline description is
    missing or incorrect.
    '''


class PipelineOSError(PipelineError):
    '''
    Error class that is raised when pipeline related files do not exist
    on disk.
    '''


class WorkflowError(Exception):
    '''
    Base class for workflow errors.
    '''


class WorkflowArgsError(WorkflowError):
    '''
    Error class that is raised when arguments of a workflow step are
    not correctly specified.
    '''


class WorkflowNextStepError(WorkflowError):
    '''
    Error class that is raised when requirements for progressing to the next
    step are not fulfilled.
    '''
