You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
1.5 KiB

# 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`).
"""