Skip to content

Day 12 - 错误处理

error接口

go
type error interface {
    Error() string
}

// 使用
func f() error {
    return errors.New("error message")
}

自定义错误

go
type MyError struct {
    Msg string
}

func (e *MyError) Error() string {
    return e.Msg
}

错误处理模式

go
// 方式1
if err != nil {
    return err
}

// 方式2
if err != nil {
    fmt.Printf("error: %v", err)
}

// 方式3:包装错误
fmt.Errorf("failed: %w", err)

defer

go
func f() {
    defer fmt.Println("最后执行")
    defer fmt.Println("倒数第二")
    fmt.Println("先执行")
}

📅 学习进度

Day主题状态
01-11基础/并发
12错误处理
13包管理与go mod

本文为Go 30天学习计划第12天内容

📚 导航

| ← Day 11 - 上一章 | Day 13 - 下一章 →

最后更新: