Go Error Handling in Distributed Systems: Patterns for Resilient Microservices