Rust reminds me a lot of Go. Both languages eschewed exception-style error handling, a feature present in almost every language that’s popular in industry. However, the idioms they use instead are very different.
Let’s cover a few more advanced aspects of the Python exception system. We’ll move a bit faster and talk at a higher level than we did in the last post.
Errors flow differently than regular data; if not “handled”, they rise up through the entire function stack and crash the program…. What exactly needs to be done in that “handling” step typically depends on what went wrong, and so there are many types of errors.
In January, during some time off between jobs, I started working through Crafting Interpreters by Robert Nystrom. There aren’t that many accessible books for programming language design and implementation, so discovering the book (and that it was free to read online!) was very exciting.