https://pythonprogramminghelp.com/the-complete-library-of-exact-failure/