Appearance
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 | ⬜ |
