Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

This package is intended to provide decorators which execute custom actions in case of exceptions. Let’s see an example:

First we need an object with some methods. These methods we decorate with the PrintOnFailure-decorator. This simple example decorator prints a given message in case of an exception.

>>> from failureaction import ConflictError
>>> from failureaction import PrintOnFailure
>>> class TestOb(object):
...
...    @PrintOnFailure(msg='Some numeric calculation went wrong!')
...    def divide(self, a, b):
...        return a/b
...
...    @PrintOnFailure()
...    def doraise(self):
...        raise ConflictError

We have two methods. One (divide) does numerical division of two numbers and another raises a custom defined ConflictError. Now let’s see the methods in action:

>>> ob = TestOb()
>>> ob.divide(4, 2)
2
>>> ob.divide(42, 0)
Some numeric calculation went wrong!
>>> ob.doraise()
Traceback (most recent call last):
...
ConflictError

The ActionOnFailure decorator provided by the module is intended to be overriden by a custom class. Like this:

>>> from failureaction import ActionOnFailure
>>> class MailOnFailure(ActionOnFailure):
...
...     def __init__(self, subject):
...         self.subject = subject
...
...     def _doaction(self, context, e):
...         """ send a mail, if an exception was raised """
...         print "Subject:", self.subject
...         print e
>>> class TestOb2(object):
...
...     @MailOnFailure(subject='An error occured')
...     def critical(self):
...         import _not_existent_hopefully_
>>> ob2 = TestOb2()
>>> ob2.critical()
Subject: An error occured
No module named _not_existent_hopefully_

Release files for failureaction 1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for failureaction 1.0a1
File Size Uploaded
failureaction-1.0a1.tar.gz 2.4 kB Details

Release files / failureaction-1.0a1.tar.gz

Download URL failureaction-1.0a1.tar.gz
Size 2.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9f2124e2005b2207c53fccae496d733d28531e01920e584e6d7a2c9e2e656551
BLAKE2b-256 checksum
How to use checksums
dbee82e13857d151d2a02ee22c3805e8ae4b6b6f66de91be7dcf2d8c2becef90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0a1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page