dreadatour / prettyexc

Make your python exception human readable in easy way.

Home Page:http://pypi.python.org/pypi/prettyexc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pretty-Exception for Python

image

prettyexc provides common exception representation to make human-readable exception in easy way.

You can install the package from PyPI

$ pip install prettyexc

Example

Prelude::

>>> from prettyexc import PrettyException

Put and get your arguments always::

>>> class SimpleException(PrettyException): ... pass ... >>> e = SimpleException('any', 'plain', 'args', code=200, description='OK') >>> raise e Traceback (most recent call last): File "<stdin>", line 1, in <module> __main__.SimpleException: "any","plain","args",code=200,description="OK" SimpleException("any","plain","args",code=200,description="OK") >>> print [e, e] [<SimpleException("any","plain","args",code=200,description="OK")>, <SimpleException("any","plain","args",code=200,description="OK")>]

Set default message::

>>> class MessageException(PrettyException): ... message = u'You should select a user' ... >>> e = MessageException(user_id=10) >>> raise e Traceback (most recent call last): File "<stdin>", line 1, in <module> __main__.MessageException: You should select a user >>> print [e, e] [<MessageException(user_id=10)>, <MessageException(user_id=10)>]

Set message formatter::

>>> class FormatException(PrettyException): ... message_format = u'User {user_id} has no permission.' ... >>> e = FormatException(user_id=10) >>> raise e Traceback (most recent call last): File "<stdin>", line 1, in <module> __main__.FormatException: User 10 has no permission. >>> print e.message User 10 has no permission.

Patch existing exceptions::

>>> from prettyexc import patch >>> class AnException(Exception): pass ... >>> patch(AnException, PrettyException) >>> raise AnException(status=404) Traceback (most recent call last): File "<stdin>", line 1, in <module> __main__.AnException: status=404

About

Make your python exception human readable in easy way.

http://pypi.python.org/pypi/prettyexc

License:Other


Languages

Language:Python 100.0%