新增: 云OSS存储集成(七牛云+阿里云)+多桶导航+GBK编码自动转换
This commit is contained in:
42
internal/oss/errors.go
Normal file
42
internal/oss/errors.go
Normal file
@@ -0,0 +1,42 @@
|
||||
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,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user