|
|
- # coding: utf-8
- #
- # Copyright © 2010—2014 Andrey Mikhaylenko and contributors
- #
- # This file is part of Argh.
- #
- # Argh is free software under terms of the GNU Lesser
- # General Public License version 3 (LGPLv3) as published by the Free
- # Software Foundation. See the file README.rst for copying conditions.
- #
- """
- Exceptions
- ~~~~~~~~~~
- """
- class AssemblingError(Exception):
- """
- Raised if the parser could not be configured due to malformed
- or conflicting command declarations.
- """
-
-
- class DispatchingError(Exception):
- """
- Raised if the dispatching could not be completed due to misconfiguration
- which could not be determined on an earlier stage.
- """
-
-
- class CommandError(Exception):
- """
- 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`).
- """
|