AgentSkillsCN

go-errors

Go 错误处理模式。路由至特定模式。

SKILL.md
--- frontmatter
name: go-errors
description: Go error handling patterns. Routes to specific patterns.

Go Error Handling

Route by Need

  • Wrapping errors with context → see wrapping/
  • Defining sentinel errors → see sentinel/
  • Checking error types → see checking/

Quick Check

  • Never ignore errors (_ = fn())
  • Wrap with context at boundaries
  • Use errors.Is/As, not ==

Common Pattern

go
func ProcessFile(path string) error {
    f, err := os.Open(path)
    if err != nil {
        return fmt.Errorf("open %s: %w", path, err)
    }
    defer f.Close()

    if err := parse(f); err != nil {
        return fmt.Errorf("parse %s: %w", path, err)
    }
    return nil
}

Resources