Handing errors in context is one of the many defensive programming techniques.
Self-documenting code ensures that error handling is integral to the code narrative.
Unhandled error conditions will manifest as bugs in the code. Here's how to squash them. (It's best to avoid them in the first place, though.)