Python Best Practices: Returning a Value vs. Raising an Exception | Dark Hacker News