This web content discusses the importance of error handling in programming and compares two primary ways of handling errors: thrown errors and errors as values. Thrown errors interrupt the control flow and can be difficult to identify. On the other hand, errors as values force engineers to notice and handle errors. The content provides examples of error handling in languages like Go, Rust, and Python. In Python, the content explores different approaches such as returning a tuple, using an external package, or returning a union. In the end, the content states that Inngest’s Python SDK handles errors as values using unions, as it is the most idiomatic and concise approach.
https://www.inngest.com/blog/python-errors-as-values