Go - Error Handling
          Beginner 10/10
          Teacher 10/10
          Architect 10/10
        
        
        
        
Check Errors
f, err := os.Open("file.txt")
if err != nil { return err }
defer f.Close()
Wrapping and Is/As
if err := do(); err != nil {
  return fmt.Errorf("do failed: %w", err)
}
// later
if errors.Is(err, os.ErrNotExist) { /* handle */ }
Sentinel vs Typed
- Prefer typed errors with errors.Is/Asover string matching.