Why developers need error handling