The two kinds of error
Summary
Evan Hahn classifies errors into two categories: expected errors, which occur during normal operation and should be handled or logged rather than thrown, and unexpected errors, which indicate bugs and should crash, with appropriate logging. The article discusses when to recover vs crash, logging levels, and language implications across Rust, Zig, Go, JavaScript, Python, and Ruby, emphasizing reliability in code and workflows.