skip to navigation
skip to content

Not Logged In

prettyexc 0.4.1

Make any exception human readable in easy way.

Latest Version: 0.5.1

Pretty-Exception for Python
~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

You can install the package from PyPI

$ pip install prettyexc


Example
-------

>>> 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
 
File Type Py Version Uploaded on Size
prettyexc-0.4.1.tar.gz (md5) Source 2013-01-14 5KB
  • Downloads (All Versions):
  • 33 downloads in the last day
  • 374 downloads in the last week
  • 554 downloads in the last month