Private
Public Access
1
0
Files
u-desk/internal/oss/errors.go

43 lines
977 B
Go

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,
}
}