package oss import "errors" // 预定义错误 var ( ErrFileNotFound = errors.New("file not found") ErrInvalidCredential = errors.New("invalid credential") ErrAccessDenied = errors.New("access denied") ErrInvalidParameter = errors.New("invalid parameter") ErrNetworkError = errors.New("network error") ErrTimeout = errors.New("operation timeout") ) // OSSError OSS 操作错误 type OSSError struct { Code string // 错误代码 Message string // 错误信息 Err error // 底层错误 } // Error 实现 error 接口 func (e *OSSError) Error() string { if e.Err != nil { return e.Code + ": " + e.Message + " (" + e.Err.Error() + ")" } return e.Code + ": " + e.Message } // Unwrap 支持错误包装 func (e *OSSError) Unwrap() error { return e.Err } // NewError 创建新的 OSS 错误 func NewError(code, message string, err error) *OSSError { return &OSSError{ Code: code, Message: message, Err: err, } }