User friendly errors
Project description
code |
|
---|---|
pypi |
Erratum is a python package that aims to make it easy to build in user friendly error messages into your project. Let’s look at the following example:
>>> my_square_root(-1)
<ipython-input-3-a8d1f1b285c7> in my_square_root(n)
5
6 if n < 0:
----> 7 raise ValueError("You can only take the square root of a positive number")
8
9 return math.sqrt(n)
ValueError: You can only take the square root of a positive number
More info --> https://github.com/alcarney/erratum
As you can see we get the error message as passed to the exception but we also get a link to a webpage where we can find more information about the error and what we need to do to fix it.
How? Well let’s look at the implementation of my_square_root
import math
from erratum import Error
class SqrtError(Error):
url = "https://github.com/alcarney/erratum"
@SqrtError
def my_square_root(n):
if n < 0:
raise ValueError("You can only take the square root of a positive number")
return math.sqrt(n)
Here we declare our error SqrtError
by subclassing the Error
class
which allows us to set the url the user gets sent to find out more about the error.
Then it is simply of decorating any function we want the function to apply to with
the annotate
method. This will cause any exception that is thrown from within
the function to be tagged with the more info link.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file erratum-0.1.1.tar.gz
.
File metadata
- Download URL: erratum-0.1.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff01185b565557d1c9a4a27036cd528178873c4ad7ee7c5532aaceb9cfd88bf3 |
|
MD5 | e9f921166b19d3721924f1d1c0ecab57 |
|
BLAKE2b-256 | 6b8088482789be505975c585ea1f48f30a4a40ef6c812b11ad31a23b4ae0bfa3 |