U
    §¦ºe1  ã                   @   s8   d Z G dd„ deƒZG dd„ deƒZG dd„ deƒZdS )z
Exceptions
~~~~~~~~~~
c                   @   s   e Zd ZdZdS )ÚAssemblingErrorzp
    Raised if the parser could not be configured due to malformed
    or conflicting command declarations.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   ún/mounts/lovelace/software/anaconda3/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/argh/exceptions.pyr      s   r   c                   @   s   e Zd ZdZdS )ÚDispatchingErrorz‰
    Raised if the dispatching could not be completed due to misconfiguration
    which could not be determined on an earlier stage.
    Nr   r   r   r   r   r	      s   r	   c                   @   s   e Zd ZdZdS )ÚCommandErrorad  
    Intended to be raised from within a command.  The dispatcher wraps this
    exception by default and prints its message without traceback.

    Useful for print-and-exit tasks when you expect a failure and don't want
    to startle the ordinary user by the cryptic output.

    Consider the following example::

        def foo(args):
            try:
                ...
            except KeyError as e:
                print(u'Could not fetch item: {0}'.format(e))
                return

    It is exactly the same as::

        def bar(args):
            try:
                ...
            except KeyError as e:
                raise CommandError(u'Could not fetch item: {0}'.format(e))

    This exception can be safely used in both print-style and yield-style
    commands (see :doc:`tutorial`).

    .. warning::

        Currently raising this exception leads to your app's return code being
        ``0``, i.e. success.  This is a known bug (issue118_) which is due to
        be fixed.  Please make sure you don't rely on this behaviour.

    .. _issue118: https://github.com/neithere/argh/issues/118

    Nr   r   r   r   r   r
      s   r
   N)r   Ú	Exceptionr   r	   r
   r   r   r   r   Ú<module>
   s   