> users saying something doesn't work, only for us to point out something simple that they forgot to do, or the instructions they totally didn't read, and then the error magically goes away
If that's how your software works, you're doing it wrong. It means there was little to no design planning. The error should tell the user/developer what to do to avoid the error thus avoiding an angry email in the first place.