/ tuesdaytooling

Tooling Tuesday: Pretty Errors in Python

Repeat after me, "Errors are good"

No seriously, errors are good, they give us information on what when wrong and where, but they don't look very nice. In fact sometimes they can scare the pants off us! Errors are there to alert us to an issue, but human beings see this alert as "You did something wrong puny human!!" and shut off.

So what is it?

pretty-errors is a library from Iain King to make exception output (errors) easier to understand.

Huh?

Screenshot_2019-12-24_20-32-14
Here is a quick example, I wrote a quick project which has a for loop, but rather than an integer, which would control the for loop to go round a set number of times, I used a float which will throw the above error.

Screenshot_2019-12-24_20-40-35
After installing pretty-errors, the above error message is made much more clear.

So how do I install it?

Via pip

On Linux / Mac

pip3 install pretty-errors

On Windows`

pip.exe install pretty-errors

So how do I use it?

This is the genius bit, all you need to do is import the library into your code and it just works. Here I've changed print to pint.

from time import sleep
import pretty_errors

for i in range(2):
    pint(i)

And here is the error.
Screenshot_2019-12-24_20-52-30

Any limitations

Yeah, it only works in terminal / REPl that supports colours. So the IDLE REPL and Mu will not support it. But a normal terminal, or Visual Studio Code will work fine.
Also not all errors are covered, so syntax errors, such as While instead of while will not trigger a pretty error. :(

But this library looks useful and hopefully more errors will be added.

Happy Hacking